AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Variablen fortlaufend erweitern und vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

Variablen fortlaufend erweitern und vergleichen

Ein Thema von skaven · begonnen am 22. Okt 2004 · letzter Beitrag vom 22. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#1

Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:34
Hi,

ich will ein Programm schreiben das fortlaufend eingehende daten in variablen abspeichert.

dabei weiß ich nicht genau wieviele werte ich bekomme.
also sollte es so sein das das programm soviele variablennamen anlegt, wie es werte bekommt und außerdem soll es immer die letzten zwei werte miteinander vergleichen.

diese möchte ich dazu benutzen wenn die differenz der letzten beiden werte nicht größer 10 ist um einen repeat zu beenden.

Benutzt man dafür ein array? oder wie geht das?

Kompliziert kompliziert, aber doch sicherlich machbar, oder?
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:36
Array ist die einfachste und auch so ziemlich die einzigst Sinnvolle Lösung dafür. Nimm ein dynamisches Array, dass kann einfach per SetLength vergrößert werden, so wie du es gerade brauchst.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#3

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:38
Mit dem Array ist schon mal supi, danke, aber da ich neu bin, weiß ich nicht genau wie ich das anwenden soll udn wie ich mein programm dazu bringe, den wert den ich bekomme in ein array zu schreiben, bzw. wie ich gezielt auf die letzten beiden werte zugreifen kann um diese zu vergleichen.

Hoffe Ihr helft mir weiter.
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:40
Array deklarieren:

Delphi-Quellcode:
var
  Test: Array of Integer;
Array um eins vergrößeren

Setlength(Test,length(Test)+1); Mit Length bekommst du die aktuelle Anzahl der Elemente im Array.

Auf letztes Element zugreifen

Test[high(Test)]:=a Vorletztes Element entsprechend

Test[high(Test)-1]:=a
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#5

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:42
Hab ich das richtig verstanden das mein letztes und vorletztes element in "a" gespeichert sind?
Kann doch nicht oder?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:44
In dem obigen Fall hätten sowohl das letzte als auch das vorletzte Element des Arrays den Wert von a

300. Beitrag
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:44
War nur ein Beispiel für eine Zuweisung. Das letzte Element ist Test[high(Test)]. Was du jetzt damit machst ist deine Sache.

Zum Beispiel das letzte mit dem vorletzten vergleichen:

Delphi-Quellcode:
if Test[high(Test)-1]<>Test[high(Test)] then
.
.
Wichtig ist nur, dass dann mindestens zwei Einträge im Array drin sind. Prüfen kannst du das mit length(Test)>=2.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#8

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 12:45
Ach so, alles klar, probier es sofort. Erstmal vielen Dank udn ein schönes WE.
  Mit Zitat antworten Zitat
skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#9

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 14:36
Hab doch noch eine frage, wie schreibe ich denn die werte "data" in mein array?


Delphi-Quellcode:
procedure TForm1.DateieinlesenClick(Sender: TObject);
var
   Liste : TStringList;
   i : Integer;
   data : string;
   F: TextFile;
   filename : String;
   prdwerte : array of integer;
   differenzwert : integer;
   begin
  if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
  begin
    filename := OpenDialog1.FileName;
   try
  Liste := TStringList.Create;
  Liste.LoadFromFile(filename);
    for i := 0 to Liste.Count-1 do
      begin
      // ShowMessage(Liste[i]);
       apdcomport1.putstring(Liste[i]);
       apdcomport1.putstring(#13);
       repeat
        apdcomport1.putstring('prd');
        apdcomport1.putstring(#13);
         //repeat
         //until
        Setlength(prdwerte,length(prdwerte)+1);
        differenzwert := prdwerte[high(prdwerte)-1]-prdwerte[high(prdwerte)];
       until abs(differenzwert)<=10;
    end
   finally
  Liste.Free;
  end;
  end;

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  Data: String;
  I: Integer;
begin
     data := '';
    for I:= 0 to Count-1 do
     Data := data+ApdComPort1.GetChar;
  Memo1.text:= data;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#10

Re: Variablen fortlaufend erweitern und vergleichen

  Alt 22. Okt 2004, 14:54
ungefähr so:

Delphi-Quellcode:
SetLength(prdwerte, Length(prdwerte) + Length(Data));

for i:=1 to Length(Data) do
  prdwerte[Length(prdwerte) - Length(Data)) + i] := integer(Data[i]);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz