Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Strings vergleichen? (https://www.delphipraxis.net/156303-strings-vergleichen.html)

Punica 27. Nov 2010 11:54

Delphi-Version: 2010

Strings vergleichen?
 
Guten Tag,

ich vergleiche im Moment 2 Edit Felder, und wenn das Edit2 Feld ungleich ist mit dem ersten soll ein Befehl ausgeführt werden was in dem Button2 steht, hier der Code der funktioniert :

Code:
var
befehl: string;
begin
befehl := 'randomblablablablabla';
edit1.Text := befehl;
if edit1.Text = edit2.Text then
begin
end
else
begin
  edit2.Text := befehl;
  button2.Click;
end;
Nun möchte ich aber, das die zwei edit Felder verschwinden und der Button2 auch, um Ressourcen zu sparen ich habe mir es so gedacht :

Code:
var
befehl1,befehl2: string;
begin
befehl1 := 'randomblablablablabla';
if befehl1 = befehl2 then
begin
end
else
begin
  befehl1 := befehl2
  //CODE//
end;
Leider funktioniert das nicht.

Sir Rufo 27. Nov 2010 12:08

AW: Strings vergleichen?
 
Was funktioniert denn nicht?

Delphi-Quellcode:
var
  befehl1, befehl2 : string;
begin
  befehl1 := 'randomblablablablabla';
  if befehl1 = befehl2 then
    begin
      // Das hier wird NIEMALS ausgeführt, da befehl2 bis dato noch niemals etwas zugewiesen bekommen hat
    end
  else
    begin
      befehl1 := befehl2
      //CODE//
    end;
end;
Verkürzt könnte man das auch schreiben
Delphi-Quellcode:
var
  befehl1 : string;
begin
  befehl1 := 'randomblablablablabla';
  //CODE//
end;
BTW es gibt 2 Code-Tags
Code:
procedure CodeTag;
begin
end;
Delphi-Quellcode:
procedure DelphiTag;
begin
end;

Punica 27. Nov 2010 12:10

AW: Strings vergleichen?
 
Der Befehl wird nicht ausgeführt.

Er soll den Befehl nur ausführen, wenn Befehl1,Befehl2 ungleich sind.

chaosben 27. Nov 2010 12:12

AW: Strings vergleichen?
 
Ich bin mir zu 99.9% sicher das der else-Teil ausgeführt wird.
Woher weißt du, das es nicht so ist?

Sir Rufo 27. Nov 2010 12:37

AW: Strings vergleichen?
 
Dann mal auf die harte Tour
Nimm mal den Code führ das aus und sag uns, welche Nachricht du auf dem Bildschirm siehst( THEN oder ELSE)
Delphi-Quellcode:
var
  befehl1, befehl2 : string;
begin
  befehl1 := 'randomblablablablabla';
  if befehl1 = befehl2 then
    begin
      ShowMessage( 'THEN' );
    end
  else
    begin
      ShowMessage( 'ELSE' );
      befehl1 := befehl2
      //CODE//
    end;
end;

Punica 27. Nov 2010 14:21

AW: Strings vergleichen?
 
Entschuldigen Sie, habe mich glaube ich falsch ausgedrückt.

Ich will das kein Befehl ausgeführt wird bei dem
[DP]
if befehl1 = befehl2 then
begin

end
[/DP]

Und der Befehl nicht doppelt ausgeführt wird bei dem nächsten Teil.

Befehl soll nur einmal ausgeführt werden, bis der Befehl wieder geändert wird.

Luckie 27. Nov 2010 14:27

AW: Strings vergleichen?
 
Dann setze einen Flag.

Sir Rufo 27. Nov 2010 14:28

AW: Strings vergleichen?
 
Aber eine lokalen Variable einer procedure hat eine sehr kurze Lebensdauer.
Wird die procedure wieder verlassen ist der Inhalt futsch.

Somit geht das so nicht

Punica 1. Dez 2010 14:27

AW: Strings vergleichen?
 
Hmm, wie kann ich es dann regeln das es ressourcenschonender ist ? Oder geht es nicht?

Rolf Frei 1. Dez 2010 14:52

AW: Strings vergleichen?
 
Irgendwie ist es mir ein Rätsel was du genau machen willst. Wo wird befehl2 abgefüllt? Ich vermute du meinst sowas:

Delphi-Quellcode:
var
  befehl1,befehl2: string;
begin
  befehl1 := 'randomblablablablabla';
  if befehl1 <> befehl2 then
  begin
    befehl1 := befehl2
    //CODE//
  end;
end;
Nur macht das keinen Sinn, da befehl2 ja in diesem Code immer leer ist und somit auch die Bedingung immer True ist und dann befehl1 auch auf "leer" gesetzt wird. Versuche doch bitte mal dein Problem und was du genau machen willst genauer zu beschreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.
Seite 1 von 2  1 2      

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