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
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Strings vergleichen?

  Alt 27. Nov 2010, 12: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
 
#2

AW: Strings vergleichen?

  Alt 27. Nov 2010, 14: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
 
#3

AW: Strings vergleichen?

  Alt 27. Nov 2010, 14: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
 
#4

AW: Strings vergleichen?

  Alt 27. Nov 2010, 14: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
 
#5

AW: Strings vergleichen?

  Alt 1. Dez 2010, 14: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
655 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Strings vergleichen?

  Alt 1. Dez 2010, 14: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 14:59 Uhr)
  Mit Zitat antworten Zitat
Punica

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

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:10
Dieser Code ist in einem Timer, der vergleicht ob sich der Benutzer ein Befehl geändert hat, alle 60 Sekunden ungefähr ..
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:26
Zeig doch einmal mehr von Deinem Code. Sonst können wir schlecht helfen.
Wo werden denn Deine Zeichenketten-Variablen gefüllt?

"Befehl2" sollte vielleicht "BefehlAlt" heißen und müsste global (sorry ) deklariert sein. Sonst verfällt dessen Inhalt nach jedem Timerdurchlauf.

Man kann aber einen Vergleich auch im OnChange-Ereignis einer TEdit einbinden. Dann braucht man dafür keinen Timer einsetzen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#9

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:32
Timer? Ich dachte sowas macht man via OnChange der Edits.

Delphi-Quellcode:
type
  TMyClass = class(...)
  private
    alterBefehl: String;
  end;

procedure TMyClass.xyz;
var
  befehl: string;
begin
  befehl := 'randomblablablablabla';
  if befehl <> alterBefehl then
  begin
    alterBefehl := befehl;
    //CODE//
  end;
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Strings vergleichen?

  Alt 1. Dez 2010, 15:39
Ich glaube nicht, dass der Fragesteller sich schon mit Klassenentwicklung beschäftigt hat. Daher würde ich eine globale Variable empfehlen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:11 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