Seite 2 von 2

Re: Schnelleres zerlegen eines Strings

Verfasst: 14.11.2011 19:54
von ts-soft
Hier mal ein Skeleton ohne PeekC usw.:

Code: Alles auswählen

EnableExplicit

Global NewList Lines.s()

Procedure LinesFromMemToList(*mem)
  Protected tmp.s
  Protected *pLines.Character = *mem
  ClearList(Lines())
  Repeat
    If *pLines\c = 10
      AddElement(Lines())
      Lines() = tmp
      tmp = ""
    Else
      tmp + Chr(*pLines\c)
    EndIf
    *pLines + SizeOf(Character)
  Until *pLines\c = 0
  AddElement(Lines())
  Lines() = tmp
  FreeMemory(*mem)
EndProcedure

Procedure ReadTextToMem(FileName.s)
  Protected *Mem, Size
  Protected FF = ReadFile(#PB_Any, FileName)
  If FF
    Size = Lof(FF)
    *Mem = AllocateMemory(Size)
    If *Mem
      ReadData(FF, *Mem, Size)
    EndIf
    CloseFile(FF)
    LinesFromMemToList(*Mem)
  EndIf
EndProcedure

ReadTextToMem(#PB_Compiler_Home + "SDK\Readme.txt")

ForEach Lines()
  Debug Lines()
Next
Ich hoffe das hilft Dir weiter,

Gruss
Thomas

Re: Schnelleres zerlegen eines Strings

Verfasst: 14.11.2011 22:08
von Pelagio
Danke ts-soft,

Dein Beispiel konnte ich besser umsetzen als das was ich bis dato mir abgebrochen habe.
:bounce:

Re: Schnelleres zerlegen eines Strings

Verfasst: 14.11.2011 22:12
von ts-soft
Das freut mich natürlich. Wenn Du die erste Procedure verstehst, wirste das mit dem Pointern demnächst
ohne Hilfe einsetzen können :wink: