@echo off cls echo Verbinde Netzlaufwerk echo. net use Z: \\[ZIEL_IP]\netshare /user:[DOMÄNE]\[USER] [PASSWORD] echo. echo Verbindung erfolgreich exit
Autor: amoerke
Timeline-Chart mit Sencha
ExtJS Object Observable machen
Als Config
/**
* @mixins Ex.util.Observable
*/
mixins: {
observable: 'Ext.util.Observable'
},
Und im Konstruktor folgende Zeile:
constructor: function(config){
this.mixins.observable.constructor.call(this, config);
Ext.apply(this, config);
this.callParent(arguments);
},
SQL um Special Chars zu entfernen
DROP FUNCTION IF EXISTS `stripSpecialChars`;
DELIMITER ;;
CREATE FUNCTION `stripSpecialChars`(`dirty_string` varchar(2048),allow_space TINYINT,allow_number TINYINT,allow_alphabets TINYINT,no_trim TINYINT) RETURNS varchar(2048) CHARSET utf8
BEGIN
/**
* MySQL function to remove Special characters, Non-ASCII,hidden characters leads to spaces, accents etc
* Downloaded from http://DevZone.co.in
* @param VARCHAR dirty_string : dirty string as input
* @param VARCHAR allow_space : allow spaces between string in output; takes 0-1 as parameter
* @param VARCHAR allow_number : allow numbers in output; takes 0-1 as parameter
* @param VARCHAR allow_alphabets : allow alphabets in output; takes 0-1 as parameter
* @param VARCHAR no_trim : don't trim the output; takes 0-1 as parameter
* @return VARCHAR clean_string : clean string as output
*
* Usage Syntax: stripSpeciaChars(string,allow_space,allow_number,allow_alphabets,no_trim);
* Usage SQL> SELECT stripSpeciaChars("sdfa7987*&^&*ÂÃ ÄÅÆÇÈÉÊ sd sdfgËÌÍÎÏÑ ÒÓÔÕÖØÙÚàáâã sdkarkhru",0,0,1,0);
* result : sdfasdsdfgsdkarkhru
*/
DECLARE clean_string VARCHAR(2048) DEFAULT '';
DECLARE c VARCHAR(2048) DEFAULT '';
DECLARE counter INT DEFAULT 1;
DECLARE has_space TINYINT DEFAULT 0; -- let spaces in result string
DECLARE chk_cse TINYINT DEFAULT 0;
DECLARE adv_trim TINYINT DEFAULT 1; -- trim extra spaces along with hidden characters, new line characters etc.
if allow_number=0 and allow_alphabets=0 then
RETURN NULL;
elseif allow_number=1 and allow_alphabets=0 then
set chk_cse =1;
elseif allow_number=0 and allow_alphabets=1 then
set chk_cse =2;
end if;
if allow_space=1 then
set has_space =1;
end if;
if no_trim=1 then
set adv_trim =0;
end if;
IF ISNULL(dirty_string) THEN
RETURN NULL;
ELSE
CASE chk_cse
WHEN 1 THEN
-- return only Numbers in result
WHILE counter <= LENGTH(dirty_string) DO SET c = MID(dirty_string, counter, 1); IF ASCII(c) = 32 OR ASCII(c) >= 48 AND ASCII(c) <= 57 THEN
SET clean_string = CONCAT(clean_string, c);
END IF;
SET counter = counter + 1;
END WHILE;
WHEN 2 THEN
-- return only Alphabets in result
WHILE counter <= LENGTH(dirty_string) DO SET c = MID(dirty_string, counter, 1); IF ASCII(c) = 32 OR ASCII(c) >= 65 AND ASCII(c) <= 90 OR ASCII(c) >= 97 AND ASCII(c) <= 122 THEN
SET clean_string = CONCAT(clean_string, c);
END IF;
SET counter = counter + 1;
END WHILE;
ELSE
-- return numbers and Alphabets in result
WHILE counter <= LENGTH(dirty_string) DO SET c = MID(dirty_string, counter, 1); IF ASCII(c) = 32 OR ASCII(c) = 33 OR ASCII(c) >= 45 AND ASCII(c) <= 57 OR ASCII(c) >= 64 AND ASCII(c) <= 90 OR ASCII(c) >= 97 AND ASCII(c) <= 122 THEN
SET clean_string = CONCAT(clean_string, c);
END IF;
SET counter = counter + 1;
END WHILE;
END CASE;
END IF;
-- remove spaces from result
if has_space=0 then
SET clean_string =REPLACE(clean_string,' ','');
end if;
-- remove extra spaces, newline,tabs. from result
if adv_trim=1 then
SET clean_string =TRIM(Replace(Replace(Replace(clean_string,'\t',''),'\n',''),'\r',''));
end if;
RETURN clean_string;
END
;;
DELIMITER ;
Quelle (aber modifiziert!)
Google Update deaktivieren
Über den Microsoft Policy Service die adm Datei von Google importieren:
Win + R -> gpedit.msc
- Auf Administrative Templates gehen
- Template hinzufügen
- Zip entpacken und importieren: GoogleUpdate
- Über Software Administrative Templates > Google > Preferences > Auto check update period einstellen oder deaktvieren
fertig!
XCode – iOS App startet nicht auf Gerät
Kürzlich der Fall: Im XCode ließ sich die App nach erfolgreichem Build nicht auf dem Endgerät starten.
Dafür folgenden Move machen:
- Im XCode in der oberen Toolbar zwei Buttons neben dem Run-Button das Aktive Schema öffnen
- Auf Edit Scheme gehen
- Im folgenden Dialog den Bereich Run auswählen
- Als Executable die App auswählen
Voila, die App startet nach dem Build auch auf dem Device.
Windows SymLinks
mklink [[/d] | [/h] | [/j]]
iOS lässt keine HTTP-Verbindungen zu
Folgendes in die Info.plist aufnehmen um ATS zu deaktivieren:
NSAppTransportSecurity NSAllowsArbitraryLoads
Sencha Touch erkennt Android 5 Tablet nicht als Profil
Im touch-Framework-Ordner die env/OS.js anpassen:
if (!osEnv.is.Android && !osEnv.is.iOS && !osEnv.is.WindowsPhone && /Windows|Linux|MacOS/.test(osName)) {
deviceType = 'Desktop';
// always set it to false when you are on a desktop not using Ripple Emulation
Ext.browser.is.WebView = Ext.browser.is.Ripple ? true : false;
}
else if (osEnv.is.iPad || osEnv.is.RIMTablet || osEnv.is.Android3 || Ext.browser.is.Silk || (osEnv.is.Android4 && userAgent.search(/mobile/i) == -1)) {
deviceType = 'Tablet';
}
else {
deviceType = 'Phone';
}
Cordova Dateien aller Verzeichnisse anzeigen lassen
var localURLs = [
cordova.file.dataDirectory,
cordova.file.documentsDirectory,
cordova.file.externalApplicationStorageDirectory,
cordova.file.externalCacheDirectory,
cordova.file.externalRootDirectory,
cordova.file.externalDataDirectory,
cordova.file.sharedDirectory,
cordova.file.syncedDataDirectory
];
var index = 0;
var i;
var statusStr = "";
var addFileEntry = function (entry) {
var dirReader = entry.createReader();
dirReader.readEntries(
function (entries) {
var fileStr = "";
var i;
for (i = 0; i < entries.length; i++) {
if (entries[i].isDirectory === true) {
// Recursive -- call back into this subdirectory
addFileEntry(entries[i]);
} else {
fileStr += (entries[i].fullPath + "
"); // << replace with something useful
index++;
}
}
// add this directory's contents to the status
statusStr += fileStr;
// display the file list in #results
if (statusStr.length > 0) {
$("#results").html(statusStr);
}
},
function (error) {
console.log("readEntries error: " + error.code);
statusStr += "readEntries error: " + error.code + "
";
}
);
};
var addError = function (error) {
console.log("getDirectory error: " + error.code);
statusStr += "getDirectory error: " + error.code + ", " + error.message + "
";
};
for (i = 0; i < localURLs.length; i++) {
if (localURLs[i] === null || localURLs[i].length === 0) {
continue; // skip blank / non-existent paths for this platform
}
window.resolveLocalFileSystemURL(localURLs[i], addFileEntry, addError);
}