Deutsch
Forum

Datum formatieren

 
Hallo Frank
Da komme ich nochmal mit eine Frage...

Wenn ich eine dbf datei einlese, ist es möglich und fals ja, wie, z.b. das Datum zu formatiern, wenn es in der dbf steht 20020327 in 2002:03:27 umzuwandeln und in den Listview darstellen?

In meinen Listview habe ich es so,

Let Data$ = @dbGet$(DATUM)
Let Data$ =
@Mid$(Data$,7,2),:,@Mid$(Data$,5,2),:,@Mid$(Data$,1,4)

Dar bei Deinen Listview das einlesen automatisch im speicher geschieht, sehe ich noch nicht die Möglichkeit es zu formatieren

Danke für jeden Tip

Fernando
 
08.11.2004  
 



Hallo Fernando,

das könnte ich als Flag realisieren, z.B. als Flag 2.
Wäre dann Flag 2 gesetzt, dann würde das Datum automatisch in das neue Format übersetzt.

Wäre nicht schlecht, wenn du mir per Email eine dbf-Datei schickst, die Datums-Angaben enthält, dann könnte ichs besser testen.

Gruß, Frank
 
08.11.2004  
 



Hallo zusammen

2002:03:27 ?
Wäre es nicht besser umzusetzen in 2002.03.27 ?

@Fernando: Danke nochmal für die Datei !

Gruß, Frank
 
08.11.2004  
 



Hallo,

so, hab das Flag jetzt eingebaut.
Hier die neue Beschreibung der Funktion, ich hoffe das geht jetzt so in Ordnung:

DbfToCsv(B,A,S,Z,F)

Wandelt eine dBaseIII (.dbf) Datei um in eine CSV-Datei (im Speicher).

B : Long - Zeiger auf einen Bereich, in den mit ReadFileQuick() eine DBF-Datei geladen wurde.
A : Long - Anzahl Bytes in B.
S : Zeiger auf einen Bereich, der die Anzahl Spalten in der Dbf-Datei in B empfängt (Long-Int) oder 0.
Z : Zeiger auf einen Bereich, der die Anzahl Zeilen in der Dbf-Datei in B empfängt (Long-Int) oder 0.
F : Long - Flag.

Rückgabe-Ergebniss: Long - Anzahl generierter Bytes in der neuen Csv-Datei (in B).

Weil viele User gerne mit dBase-Dateien arbeiten, wurde diese Funktion implementiert.
A ist die Größe der Datei in B.
S muß eine Variable sein oder ein vier Byte großer Speicher, in die nachher die Anzahl Spalten eingetragen ist. steht hier Null, dann wird der Parameter S ignoriert.
Z ist ebenfalls eine Variable oder ein vier Byte großer Speicher, nur steht hier nachher die Anzahl Zeilen.
F ist ein Flag. Ist Bit Null gelöscht, dann werden auch die Felder (Headerinformationen) der Dbf-Datei mit ausgelesen. Die erste Zeile in der Csv-Datei beinhaltet dann die Feldnamen. Ist Bit Null in F gesetzt, dann werden die Felder ignoriert und nicht mit in die Csv-Datei übernommen. Feldnamen sind vergleichbar mit den Texten der Spaltenbuttons.
Ist Bit Eins in F gesetzt, dann werden Datumsfelder vom Type 20020726 automatisch eingesetzt als 2002.07.26 (=26.07.2002).
Hier nochmal die Liste aller möglichen Flags ( kombinierbar durch OR Verknüpfung oder Addition).

0 = Felder nicht mit in die Csv-Datei auslesen / keine Datumsfelder-Konvertierung
1 = Felder mit in die Csv-Datei auslesen
2 = Datumsfelder konvertieren, z.B. 20020726 wird zu 2002.07.26

Die neu erstellte Csv-Datei steht nachher in B, die alten Daten in B werden überschrieben. Weil eine Dbf-Datei quasi immer größer ist, als eine Csv-Datei, muß bei der Speicherbereichs-Größe normalerweise nichts beachtet werden.

text$=Datei.dbf
bytes&=@FileSize(text$) Größe der Datei ermitteln (bytes&)
If bytes&>0
Dim bereich#,bytes&
ReadFileQuick(addr(text$),bereich#,0,bytes&) Dbf-Datei laden
bytes&=DbfToCsv(bereich#,bytes&,addr(spalten&),0,0) Dbf konvertieren nach Csv / bytes& neu ermitteln
CsvToListview(listview&,bereich#,bytes&,spalten&) Csv Datei als Items in Listview einlesen
Dispose bereich#
EndIf

Gruß, Frank
 
08.11.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.818 Betrachtungen

Unbenanntvor 0 min.
H.Brill10.10.2022
Langer30.01.2021
rquindt04.03.2018
Unbenannt03.04.2012
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (4x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie