AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein String prüfen durch eine if anweisung und dann kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

String prüfen durch eine if anweisung und dann kopieren

Ein Thema von Alterauge · begonnen am 15. Sep 2012 · letzter Beitrag vom 25. Sep 2012
Antwort Antwort
Seite 1 von 3  1 23      
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#1

String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 10:27
so geht es nicht !

Delphi-Quellcode:
procedure TForm1.AdvGlowButton6Click(Sender: TObject);
 var
  s, d, e : String;

begin
//MessageDlg('Einsatznummer Leitstelle'+#10#13+'wirklich ändern ?', mtConfirmation, mbYesNo, 0) = mrYes then begin
if (s = MyTable2.FieldByName('Meldung').Text) and (d = '**') then begin
MyTable2.Edit;
  s := MyTable2.FieldByName('Meldung').Text;
  d := '**';
  Delete(s, 1, Pos(d, s) - 1 + Length(d));
  while Pos(#10, s) > 0 do Delete(s, Pos(#10, s), 1);
  while Pos(#13, s) > 0 do Delete(s, Pos(#13, s), 1);
  s := Trim(s);
  MyTable2.FieldByName('E.-Nr:').Text := Copy(MyTable2.FieldByName('Meldung').Text, Length (MyTable2.FieldByName('Meldung').Text+(s))-9, 10)+(s);
MyTable2.Post;
DBedit1.ReadOnly:=false;
end else begin
if d = '*then begin
MyTable2.Edit;
 s := MyTable2.FieldByName('Meldung').Text;
  d := '*';
  Delete(s, 1, Pos(d, s) - 1 + Length(d));
  while Pos(#10, s) > 0 do Delete(s, Pos(#10, s), 1);
  while Pos(#13, s) > 0 do Delete(s, Pos(#13, s), 1);
  s := Trim(s);
  MyTable2.FieldByName('E.-Nr:').Text := Copy(MyTable2.FieldByName('Meldung').Text, Length (MyTable2.FieldByName('Meldung').Text+(s))-9, 10)+(s);
MyTable2.Post;
DBedit1.ReadOnly:=false;
end;
end;
end;
ohne eine if anweisung geht es!

Delphi-Quellcode:
MyTable2.Edit;
  s := MyTable2.FieldByName('Meldung').Text;
  d := '**';
  Delete(s, 1, Pos(d, s) - 1 + Length(d));
  while Pos(#10, s) > 0 do Delete(s, Pos(#10, s), 1);
  while Pos(#13, s) > 0 do Delete(s, Pos(#13, s), 1);
  s := Trim(s);
  MyTable2.FieldByName('E.-Nr:').Text := Copy(MyTable2.FieldByName('Meldung').Text, Length (MyTable2.FieldByName('Meldung').Text+(s))-9, 10)+(s);
MyTable2.Post;
DBedit1.ReadOnly:=false;
was muss ich ändern?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 10:53
Welchen Wert hat denn s, wenn Du ihn vergleichst? Ich kann da nirgends eine Zuweisung erkennen.

[edit] Das könnte man auch schön mit dem Debugger prüfen, das Ding ist kein Hexenwerk, das darf man ruhig benutzen. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 10:58
so geht es nicht !

Delphi-Quellcode:
...
if (s = MyTable2.FieldByName('Meldung').Text) and (d = '**') then begin
...
was muss ich ändern?
Weder s noch d beinhalten Daten...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:04
Delphi-Quellcode:
  S:=
  D:=
  if (s = MyTable2.FieldByName('Meldung').Text) and (d = '**') then
  begin
    ShowMessage(S + sLineBreak + D);
    ..
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#5

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:13
Also hier ein Beispiel 1 für das Feld 'Meldung'!

Feuerwehr Einsatz * Testhausen * Testdorfstrasse 15 **12346789

Beispiel 2 für das Feld 'Meldung' !

Feuerwehr Einsatz * Testhausen * Testdorfstrasse 15 * bei Meier *12346789

Ich möchte einfach nur die Einsatznummer 123456789 übernehmen!
Delphi-Quellcode:
procedure TForm1.AdvGlowButton6Click(Sender: TObject);
 var
  s, d: String;
begin
MyTable2.Edit;
 s := MyTable2.FieldByName('Meldung').Text;
 d := '**';
  Delete(s, 1, Pos(d, s) - 1 + Length(d));
  while Pos(#10, s) > 0 do Delete(s, Pos(#10, s), 1);
  while Pos(#13, s) > 0 do Delete(s, Pos(#13, s), 1);
  s := Trim(s);
  MyTable2.FieldByName('E.-Nr:').Text := Copy(MyTable2.FieldByName('Meldung').Text, Length (MyTable2.FieldByName('Meldung').Text+(s))-9, 10)+(s);
MyTable2.Post;
DBedit1.ReadOnly:=false;
So geht es mit '**' aber es soll auch bei einem '*' gehen!
Also eine if Anweisung oder?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:26
Warum so kompliziert?
Was soll das Löschen von '**' wenn es gar nicht Teil des Stringes ist?
Warum While-Schleifen um Zeichen zu Ersetzen, welche nicht Teil des Strings sind?
Warum trennst du den String nicht anhand vorhandener Delimitern?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:28
while pos('*',s) do ......

oder gleich von hinter reinlaufen ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:28
Wäre es nicht besser, die DB zu normalisieren anstatt hier wilde Stringoperationen durchzuführen? Für mich sieht das so aus, als würden mehrere Werte in einem Feld gespeichert, das verletzt die 1. Normalform.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 11:51
Er weiss sicherlich überhaput nicht, wovon wir Reden, und noch Schlimmer, er scheint ihn auch nicht zu Jucken!
In seinem diversen Fragen hat man ihm viele Fehler verbessert, Verbesserungsvorschläge gemacht und Tipps gegeben.
Aber er hat keinen der Verbesserungsvorschläge umgesetzt noch beherzigt er unsere Tipps!
Im fehlt Grundlagenwissen in sämtlichen Bereichen und er sieht auch keinen Sinn darin, sich dieses notwendige Wissen zu beschaffen!
Markus Kinzler
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#10

AW: String prüfen durch eine if anweisung und dann kopieren

  Alt 15. Sep 2012, 12:40
herr mkinzler, wieso haben sie eigentlich immer so eine negative einstellung?

natürlich versuche ich alles zu verstehen!
nehme auch eure vorschläge an!

aber geben sie mir die zeit , diese dinge umzusetzen, zu testen und
natürlich zu verstehen!

kann nicht immer sofort antworten! dann teste ich gerade was!

danke

Geändert von Alterauge (15. Sep 2012 um 12:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 13:00 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