nummer eines structurefeldes

Für allgemeine Fragen zur Programmierung mit PureBasic.
BSP
Beiträge: 203
Registriert: 01.02.2009 14:04

Re: nummer eines structurefeldes

Beitrag von BSP »

Hallo KeyKon.

Danke, auch ein guter Vorschlag von Dir.

Und anstatt fixed strings arbeitet man mit 2 Listen und Zeigern.
Etwa so:

Code: Alles auswählen

EnableExplicit

Structure struc
  long.l
  word.w
  float.f
  ;string.s{10}
  wort.i
  quad.q
EndStructure


Define NewList var.struc()

Define NewList worte.s()
AddElement(worte())
worte() = "Vierzehn"

Define anz_saetze , i

;CompilerIf 0 ;Schreiben
  AddElement(var())
  var()\long = 11
  var()\word = 12
  var()\float = 13.13
  ;var\string = "Vierzehn"
  var()\wort = 0
  var()\quad = 15
  
  
  If Not CreateFile(0,"D:\testfile")
    End
  EndIf
  WriteInteger(0, ListSize(var())) ; Anzahl Sätze
  ForEach var()
    WriteData(0,@var(),SizeOf(struc))
  Next
  ForEach worte()
    WriteString(0, worte())
  Next
  CloseFile(0)
  
;CompilerElse ;Lesen
  ClearList(worte())
  ClearList(var())
  If Not ReadFile(0,"D:\testfile")
    End
  EndIf
  anz_saetze = ReadInteger(0)
  For i=1 To anz_saetze
    AddElement(var())
    ReadData(0,@var(),SizeOf(struc))
  Next
  While Not Eof(0)
    AddElement(worte())
    worte() = ReadString(0)
  Wend
  CloseFile(0)
  
  Debug var()\long
  Debug var()\word
  Debug var()\float
  ;Debug var\string
  SelectElement(worte(),var()\wort)
  Debug worte()
  Debug var()\quad
  
;CompilerEndIf

Habe ich das richtig umgesetzt?
Gruß: Bernd
PB 5.31 (x86) & (x64) Win10
Antworten