Hallo Liebe Community ( Naja fast immer Lieb xD )
Ich erkläre euch mal wie man das Standard Datei System in Pawn nutzt , erst einmal fangen wir an mit dem Öffnen eines Datei Streams...
Erstellen wir eine Variable für die Datei, darin wird die Stream ID gespeichert bzw. die Zugriffs Nummer, damit das Datei System alle Infos hat:
new File:datei;
Nun greifen wir mal auf die Datei zu ...
datei = fopen("Dateipfad",zugriffs_typ);
- Der Dateipfad ist ein Standard Pfad zur Datei, kennt ihr sicherlich alle
- Der Zugriffs Typ ist die Zugriffs Methode auf die Datei hier mal eine Liste der Typen
- io_write - ( Dieser Typ legt fest das die Datei beschrieben wird & gleichzeitig wenn sie nicht existiert erstellt wird zudem löscht dieser Typ den alten Inhalt )
- io_read ( Dieser Typ ließt den Inhalt aus bzw. legt den Typ so fest das nur gelesen werden kann )
- io_append ( Dieser Typ legt fest das die Datei nicht gelöscht wird sondern das man die alten Inhalte behält und die neuen dazu geschrieben werden)
- io_readwrite ( Dieser Typ ließt eine Datei aus und kann sich gleichzeitig beschreiben & erstellt eine neue Datei falls die angegebene Datei nicht existiert )
So nun möchte ich euch erklären wie man eine Datei ließt & sie beschreibt ( Je nach Zugriffs Typ )
Damit schreibt ihr einen Text in die Datei je nach Zugriffs Typ , bitte drauf achten ( Siehe io_write , io_append , io_readwrite )
fwrite(datei_variable,"Text");
- Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang
- Und dann den Text den ihr schreiben wollt
- Achtung : Diese Funktion schreibt keine neue Linie wenn ihr den Zugriff auf Append stellt sondern schreibt gleich dahinter weiter um neue Linie zu erstellen formatiert \r\n hinein sollte genügen , das \r\n macht es möglich das wirklich eine neue Linie gestartet wird ansonsten hättet ihr nur sogenannte Kästchen Trennungen, das Prinzip ist wie bei VB wer es kennt die Länge einer neuen Linie hat immer 2 Zeichen einmal Char 10 & Char 13
fread(datei_variable,string_var_wo_es_rein_soll,maximale_string_größe,packed_string);
- Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang
- StringVar , wo soll der gelesene Inhalt rein ? Bitte gebt eine Text Variable an
- Maximale Größe des Inhalts ( Gebt ihr 5 an aber habt in der Linie der Datei 7 Zeichen so werden nur 5 Zeichen gelesen)
- Ist es ein packed String ( true/false ) ( Packed Strings = 1 Byte , normale = 4 Bytes )
- Eigenschaft : Diese Funktion ließt immer eine Linie und dann immer die nächste , sie fängt erst wieder bei 0 an wenn ihr den Stream schließt
Ihr müsst den Stream auch schließen damit das Programm von der Datei los lässt " ", dazu tut ihr folgendes...
fclose(datei_variable);
- Datei Variable ist die Datei Nummer die ihr Stream ID nennen könnt , ihr wisst was ich meine siehe Anfang
Hier ein kleiner Tipp zum auslesen aller Linien + Erfassung für das Ende der Datei
new File:datei = fopen("datei.endung",io_append),line[255];
while(fread(datei,line))
{
// Aktion
}
fclose(datei);
Und hier mal ein normaler Stream
new File:datei = fopen("Datei.endung",io_write);
fwrite(datei,"dein text");
fclose(datei);
Sonstige Funktionen
fexist("Dateiname");
- Diese Funktion fragt ab ob die Datei existiert
fremove("Dateiname");
- Diese Funktion löscht eine Datei
flength(datei_variable);
- Gibt die Größe der Datei zurück
fmatch("Dateiname","String",Anzahl_Zeichen_Die_Gesucht_werden_sollen);
- Dateiname ist klar
- Nach was soll er im Dateinamen suchen ? Was soll enthalten sein ?
- Zeichenlänge die gesucht wird
Ich wünsche euch viel Spaß & ich hoffe es hilft euch ein bisschen