ich bin mir da nicht ganz sicher, ob gedanklich @Purebasic09 tatsächlich ein Array vorgesehen hat, auch wenn es hier augenscheinlich sich hier so darstellt.
Auf jeden Fall klappt es so nicht. Hier stimmt der Programmierfluß vorn und hinten nicht.
@Kurzer, leider hast du wirlich zu kurz gedacht.
Wie soll das mit dem vordefinierten Array weiterlaufen?
In @Purebasic09 seiner Datenbasis besteht ein Artikel aus mehreren Einzelteilen. Er deutet das auch hierdurch an:
Code: Alles auswählen
Case 4 To 4000
Ein Array würde ich dann nicht nehmen, eher eine Linked List.
Das würde dann so aussehen:
Code: Alles auswählen
NewList teil.s()
arbeitsver.s="I:/purebasic/datenbank/" ; hier das richtige Verzeichnis angeben
If ReadFile(0, arbeitsver.s+"AUFTRAGE.PAU") ; wenn die Datei geöffnet werden konnte, setzen wir fort...
While Eof(0) = 0 ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
temp_s.s = ReadString(0) ; Zeile für Zeile im Debugger-Fenster anzeigen
If Trim(temp_s) = "PAU"
zeilen.l = 1
Else
Select zeilen
Case 1 : AddElement(teil()):teil() = temp_s : zeilen+1
Case 2 : AddElement(teil()):teil() = temp_s : zeilen+1
Case 3 : AddElement(teil()):teil() = temp_s : zeilen+1
Case 4 To 4000
If Not Trim(temp_s) = "PAU-END"
AddElement(teil()):teil() = StringField(temp_s,1,"|")
AddElement(teil()):teil() = StringField(temp_s,2,"|")
AddElement(teil()):teil() = StringField(temp_s,3,"|")
AddElement(teil()):teil() = StringField(temp_s,4,"|")
AddElement(teil()):teil() = StringField(temp_s,5,"|")
zeilen+1
EndIf
EndSelect
EndIf
If Trim(temp_s) = "PAU-END"
ForEach teil()
Debug teil()
Next
ClearList(teil())
EndIf
Wend
CloseFile(0) ; schließen der zuvor geöffneten Datei
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
Aber hier gibt sich @Purebasic09 bisher verschlossen.
Welche Datenbank will er benutzen?
Die von Purebasic allgemein unterstütze Dantenbank "SQLite"?
Wieviel Datensätze wird eine Datenbank ca. beinhalten?
Wie soll aber bei mehreren Einzelteilen die Relation gelöst werden, um die Datenbanktabellen möglichst klein zu halten und die Redundanz möglichst gering zu halten?
Dies bedarf einiger Antworten.
Warten wir erstmal auf Antworten von @Purebasic09 ab.