![]() |
Stream auslesen
hallo,
ich möchte einen stream in zwei verschiedene listen einlesen und zwar so, dass die ungeraden Zeilenindex in Liste 1 und die geraden in Liste 2 stehen. Ich dachte so ungefähr
Delphi-Quellcode:
das klappt aber nicht, ich hab auch wenig Erfahrung damit. Hat da jemand nen Tip?
TDatensatz = packed record
Liste1:Extended; Liste2:extended; end; TDatenarray = array of TDatensatz ; var time:smallint; arr:TDatenarray; index:byte; werte:string; begin Stream1 := TFileStream.Create(Inputfile,fmOpenRead); while stream1.Position < stream1.size do begin stream1.ReadBuffer(time, SizeOf(time)); arr[index].Liste1 = time; stream.seek(2, soFromCurrent); arr[index].Liste2 = time; werte:=floattostr(arr[index].Liste1) + #9 + floattostr(arr[index].Liste2); stream2.writebuffer(werte[1],length(werte); inc(index); end; end; |
AW: Stream auslesen
hey,
erstmal Willkommen in der DP :thumb: Zitat:
Generell könntest du dir mal genau ansehen, wie man aus einem Stream liest: ![]() Danach könnte man es so machen:
Code:
nimm eine Laufvariable, die für jeden Datensatz um eins inkrementiert wird.
Falls dann für einen Datensatz '(i mod 2) = 0' gilt (also dass es sich um eine gerade Zahl handelt) => füge es in Liste1 ein, andernfalls in Liste2 Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz