LitDev 1.2.24.0 DE
http://litdev.uk/LitDev.De.html Extension API

LD3DView LDArray LDBits LDBlueTooth LDCall
LDChart LDClient LDClipboard LDColours LDCommPort
LDController LDControls LDCursors LDDataBase LDDateTime
LDDebug LDDialogs LDDictionary LDEffect LDEmail
LDEncryption LDEvents LDFastArray LDFastShapes LDFigures
LDFile LDFocus LDftp LDGeography LDGraph
LDGraphicsWindow LDHashTable LDHID LDIcon LDImage
LDInline LDIOWarrior LDList LDLogic LDMath
LDMathX LDMatrix LDMusic LDNetwork LDPhysics
LDProcess LDQueue LDRegex LDResources LDScrollBars
LDSearch LDServer LDSettings LDShapes LDShell
LDSort LDSound LDSpeech LDStatistics LDStopwatch
LDText LDTextWindow LDTimer LDTranslate LDUnits
LDUtilities LDVector LDWaveForm LDWebCam LDWindows
LDxml LDZip

LDFile
Diverse Funktionen zur Datei- und Ordnermanipulation.

AccessTime ANSItoUTF8 AppDataFolder
CopyDirectory CreationTime CSVplaceholder
DocumentsFolder Exists GetAllDirectories
GetExtension GetFile GetFolder
Length LoadAllVariables ModifiedTime
MusicFolder PicturesFolder PrintFile
PublicFolder ReadANSI ReadANSIToArray
ReadByteArray ReadCSV ReadCSVTransposed
ReadToArray RenameDirectory RenameFile
SaveAllVariables Size TempFolder
UserName WriteByteArray WriteCSV

AccessTime(fileName)
Ermittelt den letzten Zugriffszeitpunkt auf eine Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der letzte Zugriffszeitpunkt auf Datei oder Verzeichnis bei Erfolg, sonst "" (zB. Datei existiert nicht).

ANSItoUTF8(fileName,bom)
Konvertiert eine ANSI kodierte Textdatei zu UTF8.
UTF8 ist die in SB verwendete Standardkodierung für Textdateien.
Sollte auch für andere Kodierungen funktionieren (s.a. ReadANSI(ToArray)).

fileName Der volle Pfad der zu konvertierenden Datei.
bom Byte Order Mark (BOM, 'EF BB BF') am Beginn der UTF8 Datei einfügen? "True" oder "False" (Standard). SB erstellt ohne BOM.
returns Der Pfad der konvertierten Datei (OrigName-UTF8.txt) bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

AppDataFolder
Ermittelt den Pfad des Ordners 'Anwendungsdaten' im Benutzerprofil (%APPDATA%, W7: %USERPROFILE%\AppData\Roaming).

CopyDirectory(directoryFrom,directoryTo)
Rekursives Kopieren eines Ordners mit gesamtem Inhalt (incl. Unterordner).
directoryFrom Der volle Pfad des Quellordners.
directoryTo Der volle Pfad des Zielordners.
returns "SUCCESS" bei Erfolg, sonst "FAILED".

CreationTime(fileName)
Ermittelt den Erstellungszeitpunkt einer Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der Erstellungszeitpunkt der Datei bei Erfolg, sonst "" (zB. Datei existiert nicht).

CSVplaceholder
Platzhalter-Zeichen welches beim Lesen von CSV Dateien (s. LDFile.ReadCSV..) anstelle leerer Arraywerte verwendet wird.
Ein SB-Array kann keine leeren Werte ("") speichern.
Standard: Leerstring "", dh. der resultierende Array enthält keine leeren Elemente aus der CSV Datei.

example 'Bei Leerzeilen in CSV, sonst Abbruch
LDFile.CSVplaceholder(" ")


DocumentsFolder
Ermittelt den Ordnerpfad für 'Eigene Dokumente' (W7: %USERPROFILE%\Documents).

Exists(fileName)
Ermittelt ob der angegebene Ordner- oder Dateipfad existiert (GROß-/kleinschr. egal, auch für relative Pfade ausgehend vom SB Installationsordner '.').
fileName Der absolute oder relative Ordner- oder Dateipfad (kein %EnvVar% Pfad).
returns "True" oder "False".
example LDFile.Exists("SB.exe") ' "True"
LDFile.Exists(".\lib") ' "True"
LDFile.Exists("\windows\notepad.exe") ' "True"


GetAllDirectories(path)
Ermittelt rekursiv alle Unterordner in einem angegebenen Ordner.
WARNUNG: Keinen vollen Laufwerkscan oä. ausführen, sondern überschaubare Ordnerstruktur wählen.

path Der volle Pfad des Basisordners.
returns Ein Array mit den vollen Pfaden aller Unterordner oder "FAILED".

GetExtension(fileName)
Ermittelt die Dateierweiterung aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad oder -name, zB. Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Die Dateierweiterung (ohne Punkt) oder "" (keine Erweiterung).
example url = http://www.microsoft.com/favicon.ico"
ext = LDFile.GetExtension(url) ' "ico"


GetFile(fileName)
Ermittelt den blanken Dateiname aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad, zB. Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Der reine Dateiname aus einem gegebenen Dateipfad (ohne Ordnerpfad\ und .ext), Ordnername für einen Ordnerpfad.
example fName = LDFile.GetFile(File.GetSettingsFilePath())
dName = LDFile.GetFile(Program.Directory)
wwwName = LDFile.GetFile("http://www.microsoft.com/favicon.ico")


GetFolder(fileName)
Ermittelt den Elternordnerpfad aus einem lokalen oder Netzwerkpfad (auch für relative Pfade mit ".", "..", keine Existenzprüfung, auch für Ordner oder Url).
fileName Der (volle) Datei-/Ordnerpfad, zB. "Program.Directory +"\..\Ordner\Datei.ext" (bzw. Dateiname.ext im aktuellen Ordner).
returns Der reine (ev. relative) Ordnerteil für den angegebenen Pfad (ohne abschließenden "\").
example url = http://www.microsoft.com/favicon.ico"
wwwPfad = LDFile.GetFolder(url)


Length(fileName)
Ermittelt die Anzahl der Zeilen (incl. Leerzeilen) in einer Textdatei. 0 bei Leerdatei. Abschließendes CrLf wird nicht mitgezählt.
fileName Der volle Pfad der Textdatei.
returns Die Zeilenanzahl in der Datei bei Erfolg, sonst -1 (zB. Datei existiert nicht, mit Fehlermeldung).

LoadAllVariables(fileName)
Stellt die Werte aller Variablen wieder her, wie diese zuvor mit 'SaveAllVariables' gespeichert wurden.
fileName Der volle Dateipfad unter dem die Variablenwerte zuvor gespeichert wurden (auch %EnvVar%).

ModifiedTime(fileName)
Ermittelt den letzten Änderungszeitpunkt einer Datei (zB. TT.MM.JJ HH:mm:ss, gem. Systemeinst.).
fileName Der volle Pfad der Datei.
returns Der letzte Änderungszeitpunkt der Datei bei Erfolg, sonst "" (zB. Datei existiert nicht).

MusicFolder
Ermittelt den Ordnerpfad für 'Eigene Musik' (W7: %USERPROFILE%\Music).

PicturesFolder
Ermittelt den Ordnerpfad für 'Eigene Bilder' (W7: %USERPROFILE%\Pictures).

PrintFile(fileName)
Druckt den Textinhalt einer Datei aus.
fileName Der volle Pfad der zu druckenden Datei (Die Dateierweiterung sollte mit einer Anwendung verknüpft sein).

PublicFolder
Ermittelt den Pfad des 'Public' Ordners (W7: 'Öffentlich', XP: 'Gemeinsame Dateien').

ReadANSI(fileName)
Liest eine ANSI kodierte Textdatei (mit Zeichencode >127, zB. €ÄÖÜßäöü).
UTF8 ist die in SB verwendete Standardkodierung für Textdateien.
Sollte auch für andere Kodierungen incl. UTF8 funktionieren (s.a. ReadANSIToArray, ANSItoUTF8).

fileName Der volle Pfad der einzulesenden Datei.
returns Der Textinhalt der ANSI Datei bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

ReadANSIToArray(fileName)
Liest eine ANSI kodierte Textdatei zeilenweise als Array (Textzeile als Arraywert).
Leerzeilen als Arraywert " " (Leerzeichen).
Sollte auch für andere Kodierungen incl. UTF8 funktionieren (s.a. ReadANSI, ANSItoUTF8).

fileName Der volle Pfad der einzulesenden Datei.
returns Ein Array, indexiert durch Zeilennummer (ab 1) und Zeilentext als wert bei Erfolg, sonst "" (zB. Kodierung wurde nicht richtig erkannt).

ReadByteArray(filePath,hexMode)
Ermittelt alle Bytewerte einer Datei als Bytearray [0,255] oder CSV Hex-String [00,FF].
filePath Der volle bestehende Dateipfad.
hexMode Ausgabe als CSV Hex-String?
"False" Bytearray [0,255] (Standard)
"True" Hex-String 'Komma getrennte Werte' [00,FF]

returns Ein Array (ab 1) von dek. Bytewerten (0 bis 255) oder einzelner CSV String mit Hex-Werten (00 bis FF) bei Erfolg, sonst "FAILED".

ReadCSV(fileName)
Ermittelt den Inhalt einer CSV Datei (comma separated values) als 2D Array.
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.
Abbruch bei erster Leerzeile und "\" werden entfernt.

fileName Der volle Pfad der CSV Datei.
returns Ein 2D Array mit den Daten der eingelesenen CSV Datei, zB. arr[zeile][spalte].

ReadCSVTransposed(fileName)
Ermittelt den Inhalt einer CSV Datei (comma separated values) als 2D Array und vertauscht dabei Zeilen- und Spaltenwerte.
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.
Abbruch bei erster Leerzeile und "\" werden entfernt.

fileName Der volle Pfad der CSV Datei.
returns Ein 2D Array mit den transponierten Daten der eingelesenen CSV Datei, zB. arr[spalte][zeile].

ReadToArray(fileName)
Ermittelt den Inhalt einer Textdatei zeilenweise als Array, wobei jede Textzeile einem Arrawert entspricht. "" bei Leerdatei oder wenn Datei nicht existiert.
Leerzeilen werden durch Arraywerte mit einem Leerzeichen (" ") dargestellt.

fileName Der volle Pfad der Textdatei.
returns Die Zeilen der Datei als Array, indexiert durch die Zeilennummer (ab 1).

RenameDirectory(directoryFrom,directoryTo)
Umbenennen oder Verschieben eines existierenden Ordners mit gesamtem Inhalt (incl. Unterordner).
directoryFrom Der volle Pfad des zu verschiebenden/umzubenennenden Quellordners.
directoryTo Der volle Zielordnerpfad (ev. mit neuem Ordnername).
returns "SUCCESS" bei Erfolg, sonst "FAILED".

RenameFile(fileFrom,fileTo)
Umbenennen oder Verschieben einer existierenden Datei.
Bestehende Zieldateien werden nicht überschrieben.

fileFrom Der volle Pfad der zu verschiebenden/umzubenennenden Quelldatei (mit/ohne Erweiterung).
fileTo Der volle Zieldateipfad (ev. mit neuem Dateiname, mit/ohne Erweiterung).
Existiert ein gleichnamiger Ordnerpfad, so kann dieser kein Zieldateipfad mehr sein.

returns "SUCCESS" oder "FAILED" (mit Fehlermeldung).

SaveAllVariables(fileName)
Speichert alle aktuellen Variablen/-werte in eine angegebene Datei (eine Variable/Zeile als "Name Wert" durch Leerzeichen getrennt).
Dies ist der vollständige. aktuelle Programmstatus bis zum Aufruf dieser Methode. Enthält bereits alle Variablennamen, jedoch ev. manche noch OHNE Wert.
Kann nützlich sein, um einen Spielstand zu speichern oder zum Debuggen (s. LoadAllVariables).
Besser nicht innerhalb einer Ereignis Sub verwenden.

fileName Der volle Dateipfad zum Speichern der Variablen und -werte (auch %EnvVar%). Eine bestehende Datei wird überschrieben.

Size(fileName)
Ermittelt die Größe einer lokalen Datei in Bytes (nicht Größe auf Festplatte).
fileName Der volle Dateipfad.
returns Die Dateigröße [Byte] bei Erfolg, sonst -1.

TempFolder
Ermittelt den Pfad des TEMP Ordners im Benutzerprofil (%TEMP% bzw. Ordnerpfad von File.GetTemporaryFilePath).

UserName
Ermittelt den aktuellen Benutzername (%USERNAME%).

WriteByteArray(filePath,byteArray,startPos)
(Über)Schreibt einen Array von Bytes in eine (bestehende) Datei.
filePath Der volle Dateipfad. Eine nicht bestehende Datei wird erstellt.
byteArray Ein 1D Bytearray (ab 1, fortlaufend) mit dekadischen Bytewert(en) zwischen 0 und 255.
Oder einzelner CSV String (Komma od. Leerzeichen getrennt) in 'Hex-Notation' (zB. "3D,1F 00").

startPos Die Byteposition (incl., ab 1) in einer bestehenden Datei, ab welcher das (Über)Schreiben beginnt. Wird ignoriert für nicht bestehende Datei (diese wird erstellt und ab Anfang beschrieben).
<=1 Dateianfang (Standard)
>Dateilänge nach Dateiende

returns Die Anzahl geschriebener Bytes bei Erfolg, sonst "FAILED".
example '(über)schreibt ab Dateianfang
WriteByteArray(pfad, arr,1)
'SB© nach 4. Byte
WriteByteArray(pfad, "1=83;2=66;3=169;",5) 'od.
WriteByteArray(pfad, "53 42 A9",5)


WriteCSV(fileName,array)
Speichert einen 2D Array in eine CSV Datei (comma separated values).
Das Trennzeichen (Standard: "," Komma) kann mit LDUtilities.CSVDeliminator geändert werden.
Felder mit CrLf, " und , in "" einschließen, wobei " -> "" (Escape).

fileName Der volle Pfad der CSV Datei.
array Der zu exportierende 2D Array, zB. arr[zeile][spalte].