![]() |
Delphi-Version: 5
Schleife konstruieren
Hallo allesamt,
ich hab nen problem mit einem Datensatz, der zeitlich getaktet ist z.B. so:
Delphi-Quellcode:
Ich möchte jetzt, wenn der Zeitschritt größer 0.5 (=1000/Abtastung) die Abtastung verkleinern auf 100 und die Zwischenwerte löschen. Anders ausgedrückt, ich suche ne Schleife in der ich die nächsten 19 Werte lösche, den 20. Wert behalte, die nächsten 19 wieder lösche usw. Kann mir vielleicht jemand nen Denkanstoss geben, wie ich das am besten in einer Schleife löse.Abtastung:=2000; Zeitschritt:=Zeitschritt+1/Abtastung; wertestr := FloatToStr(Zeitschritt); If (Zeitschritt > 1000/Abtastung) then begin ... delete(wertestr,1,100); end; Vielen Dank schonmal, Jupi |
AW: Schleife konstruieren
Meinst du sowas in etwa?
Mehr Pseudocode als richtiger...
Delphi-Quellcode:
procedure Schleife;
var i: Integer; Element : TStringList; begin Element := TStringList.Create; for i := Element.Count to 20 - 1 do begin if i = 20 then //Element.Count[i].SaveIrgendwas //DeleteBefehl; end; Element.Free; end; |
AW: Schleife konstruieren
Keine Ahnung was du meinst, sieht aber nach mod aus?
Delphi-Quellcode:
Wenn Value geteilt durch 20 Rest Null ergibt, also durch 20 teilbar ist.
If Value mod 20 = 0 then ..
Das würde allerdings voraussetzen, daß Value ein integer ist. |
AW: Schleife konstruieren
Zitat:
|
AW: Schleife konstruieren
Count ist eine ReadOnly-Eigenschaft von TStringlist und hat mit den Zeilen nichts zu tun. Auf die einzelnen Zeilen kannst Du entweder über Stringlist.Items[i] oder einfach Stringlist[i] zugreifen. Falls Du mit Save() das Speichern in eine Datei meinst, dann schau Dir mal die Methode SaveToFile an.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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