AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings vergleichen?

Ein Thema von Punica · begonnen am 27. Nov 2010 · letzter Beitrag vom 1. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
Punica

Registriert seit: 17. Nov 2010
14 Beiträge
 
#1

Strings vergleichen?

  Alt 27. Nov 2010, 12:54
Delphi-Version: 2010
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Strings vergleichen?

  Alt 27. Nov 2010, 13:08
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;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Punica

Registriert seit: 17. Nov 2010
14 Beiträge
 
#3

AW: Strings vergleichen?

  Alt 27. Nov 2010, 13:10
Der Befehl wird nicht ausgeführt.

Er soll den Befehl nur ausführen, wenn Befehl1,Befehl2 ungleich sind.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Strings vergleichen?

  Alt 27. Nov 2010, 13:12
Ich bin mir zu 99.9% sicher das der else-Teil ausgeführt wird.
Woher weißt du, das es nicht so ist?
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Strings vergleichen?

  Alt 27. Nov 2010, 13:37
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;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Punica

Registriert seit: 17. Nov 2010
14 Beiträge
 
#6

AW: Strings vergleichen?

  Alt 27. Nov 2010, 15:21
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Strings vergleichen?

  Alt 27. Nov 2010, 15:27
Dann setze einen Flag.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Strings vergleichen?

  Alt 27. Nov 2010, 15:28
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Punica

Registriert seit: 17. Nov 2010
14 Beiträge
 
#9

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:27
Hmm, wie kann ich es dann regeln das es ressourcenschonender ist ? Oder geht es nicht?
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
650 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:52
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.

Geändert von Rolf Frei ( 1. Dez 2010 um 15:59 Uhr)
  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 09:10 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