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 2 von 3     12 3      
Alterauge

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

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

  Alt 15. Sep 2012, 13:56
Hallo,

habe ein wenig über Trim gelsen,
da nicht immer alle zehen Zeichen copiert werden! (ich denke, da sind leer Zeichen im Spiel!)

Habe zur Zeit diesen Code, wie gesagt zur 90% copiert er 10 Zeichen!
Wie muß ich den Code umstellen?
Delphi-Quellcode:
procedure TForm1.AdvGlowButton3Click(Sender: TObject);
begin
MyTable2.Edit;
  MyTable2.FieldByName('E.-Nr:').Text := Copy(MyTable2.FieldByName('Meldung').Text, Length (MyTable2.FieldByName('Meldung').Text)-9, 10);
   MyTable2.Post;
end;
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#12

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

  Alt 15. Sep 2012, 14:00
Ich erinnere
Ich möchte einfach nur die Einsatznummer 123456789 übernehmen!
Die Antworten:
Warum so kompliziert?
Wäre es nicht besser, die DB zu normalisieren ...das verletzt die 1. Normalform.
Get noch, ist auf jeden Fall freundlich.
Aber die Krönung:
Er weiss sicherlich überhaput nicht, wovon wir Reden, und noch Schlimmer, er scheint ihn auch nicht zu Jucken!
So ihr Profis: Auf der einen Seite trötet ihr von Nettiquette und wie man Forenbeiträge beantworten sollte bzw. regt euch auf, wenn man euren hohen Erwartungen nicht gerecht wird und auf der anderen Seite beantwortet ihr nicht einmal eine sehr einfache Frage oder geht einfach auf das Problem ein. Stattdessen zeigt ihr mit dem Finger auf vermeindliche Fehler oder mäkelt am bisherigen Lösungsweg herum und verwechselt Anfängerprobleme mit Kritikresistenz.

Toll, das ihr die volle Ahnung habt und toll, das ihr bei jeder Frage antwortet. Vielleicht wäre hier zur Abwechslung Klasse besser als Masse.

Das Problem lautet (wer lesen kann, ist klar im Vorteil)
Zitat:
Ich möchte einfach nur die Einsatznummer 123456789 übernehmen!
Sie lautet nicht "Wie verbessere ich meine DB-Struktur" und auch nicht "Was mache ich falsch". Klar, es wurde Code gepostet, aber dann geht wenigstens direkt und konstruktiv darauf ein.

Die imho direkte, höfliche und jegliche Kritik vermeidende Antwort würde lauten (Tataa):
Um die Einsatznummer zu übernehmen, könntest Du, von hinten beginnend, nach dem Trenner suchen und dann alles rechts davon herauskopieren, etwa so:
Delphi-Quellcode:
// Wenn der String 'abcXX123' ist und der Trenner='XX', dann liefert die
// Funktion als Resultat '123' und der String ist hinterher 'abc'
Function LetzterTeilstring(Var DerString : String; Trenner : String) : String;
Var
  i, trennerLaenge : Integer;
Begin
  trennerLaenge := Length(Trenner);
  i := Length(DerString) - trennerLaenge;
  While (i>trennerLaenge) And (Copy (DerString,i-trennerLaenge, trennerLaenge)<>Trenner) do dec(i);
  // i zeigt nun auf das 1.Zeichen des letzten
  if (i<=trennerLaenge) then begin
    result := TeilString;
    DerString := '';
    end
  else begin
    result := Copy(DerString,i,maxint);
    TeilString := Copy(DerString,1,i-trennerLaenge-1);
  end
end;
(Ungetestet)

Ein Moderator sollte im Übrigen moderieren und sich nicht über die etwaige Kritikresistenz anderer öffentlich äußern (speziell Nicht-Profis gegenüber), obwohl letzteres auch für Normalsterbliche gilt. Für direkte Kritik gibt es die 'PN'. Das hätte Niveau. (Und: "Ja", die eigene Nase, ich weiß).

Vielleicht denken die Angesprochen einmal über das Prädikat: "Arroganz" bzw. "Überheblichkeit" nach. Ich tue das jedenfalls, da ich diesbezüglich hier und da gerüffelt wurde.

@AlterAuge: Dein neuer Code funktioniert nicht, wenn die Einsatznummer einmal nicht 10 Zeichen beträgt.

Auch wenn ich die Art der Kritik von DeddyH (dem man aber eigentlich nichts vorwerfen kann) nicht zielführend finde, hat er in jedem Fall recht: Das mit der Datenbankstruktur ist nicht robust. Versuche mal, diese '*' Geschichte durch einzelne Eingabefelder zu lösen. Oder sind das Daten, die schon so vorhanden sind?
  Mit Zitat antworten Zitat
Alterauge

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

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

  Alt 15. Sep 2012, 14:43
Hallo,
erstmal viellen Dank, für Deine Aufmerksamkeit!

Ich bekomme den Text, so geliefert bzw.übermittelt!
Der Text befindet sich dann in einem Memo!

Als Beispiel:
Feuerwehr Einsatz*Testhausen*Testdorfstraße66*Feuer1*bei Müller*123456789 // hier mit Name (Müller)*
oder es ist auch möglich!
Feuerwehr Einsatz*Testhausen*Testdorfstraße66*Feuer1**123456 789 // hier ohne Namen **

So die Einsatznummer hat immer zehn Zeichen! Aber ich vermute, dass hin und wieder mal, hinter der Einsatznummer sich leer Zeichen befinden!

Das zweite Problem ist der Trenner mit '*'! Dieser Trenner kommt öfters vor!
Beim Trenner '**' würde es gehen!



Danke!

Geändert von Alterauge (15. Sep 2012 um 14:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#14

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

  Alt 15. Sep 2012, 15:25
wie wärs damit:

Delphi-Quellcode:
var
  SL: TStringList;
begin
  SL := TStringList.Create;

  try
    SL.StrictDelimiter := true;
    SL.Delimiter := '*';

    SL.DelimitedText := 'Feuerwehr Einsatz*Testhausen*Testdorfstraße66*Feuer1*bei Müller*123456789'; // hier mit Name (Müller)*

    //geht auch ohne Namen
    //Feuerwehr Einsatz*Testhausen*Testdorfstraße66*Feuer1**123456 789 // hier ohne Namen **

    ShowMessage(SL.Strings[Pred(SL.Count)]);
  finally
    FreeAndNil(SL);
  end;
end;
In der SL stehen dann die einzelnen Bereiche je als eigene Zeile und die letzte Zeile ist die Nummer
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Alterauge

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

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

  Alt 15. Sep 2012, 15:37
Helmi,

Du wirst es nicht glauben!
Es geht!

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#16

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

  Alt 15. Sep 2012, 15:41
Du wirst es nicht glauben!
Es geht!

Danke!
Ich weiss!
Gern geschehen

Ich nutz die StringList gerne mal als Trenner - erspart man sich viel String-Arbeit
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

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

  Alt 15. Sep 2012, 17:27
@Furtbichler: wenn jemand schreibt, dass er einen stinkenden Fisch im Kühlschrank hat, diesen deshalb in eine Plastiktüte einpacken will und daher fragt, welche Sorte Plastiktüten besonders geeignet ist, dann kann man ihm entweder eine Marke empfehlen oder ihm stattdessen vorschlagen, den Fisch gegen einen frischen auszutauschen. Ich würde immer die 2. Variante wählen, ob Du das nun zielführend findest oder nicht
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 haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#18

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

  Alt 15. Sep 2012, 17:32
@DeddyH: Erfahrungswerte ???
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

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

  Alt 15. Sep 2012, 17:46
Zitat:
Vielleicht denken die Angesprochen einmal über das Prädikat: "Arroganz" bzw. "Überheblichkeit" nach. Ich tue das jedenfalls, da ich diesbezüglich hier und da gerüffelt wurde.
Ah jo also doch noch nicht so Alt um dazu zu lernen (IRONIE) wie auch immer.

gruss
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 16. Sep 2012, 16:35
herr mkinzler, wieso haben sie eigentlich immer so eine negative einstellung?
Das macht das Leben halt aus einem.
Zitat:
natürlich versuche ich alles zu verstehen!
nehme auch eure vorschläge an!
Und deshalb hast du auch die einfachsten Dinge, die man dir gesagt hat noch nicht umgesetzt?

Aber du hast Recht, ich hätte mich einfach zurückziehen sollen, wie viele andere, die versucht haben dir zu Helfen, anstatt hier meinen Frust, über mich selbst, der die Hoffnung gehabt hat, das du deinen Versprechungen, dich mit unseren Antworten und Tipps zu beschäftigen uach Taten folgen.

Zitat von http://www.delphipraxis.net/members/66845-furtbichler.html:
So ihr Profis: Auf der einen Seite trötet ihr von Nettiquette und wie man Forenbeiträge beantworten sollte bzw. regt euch auf, wenn man euren hohen Erwartungen nicht gerecht wird und auf der anderen Seite beantwortet ihr nicht einmal eine sehr einfache Frage oder geht einfach auf das Problem ein. Stattdessen zeigt ihr mit dem Finger auf vermeindliche Fehler oder mäkelt am bisherigen Lösungsweg herum und verwechselt Anfängerprobleme mit Kritikresistenz.
Es geht hier nicht nur um die Frage, sondern auch darum, wie er auf Tipps von anderen (nicht) reagiert hat.

http://www.delphipraxis.net/170361-i...t-aendern.html

Zitat:
Toll, das ihr die volle Ahnung habt und toll, das ihr bei jeder Frage antwortet. Vielleicht wäre hier zur Abwechslung Klasse besser als Masse.
Na dann hätte ich ja noch nie eine Antwort Posten können.
Zitat:
Ein Moderator sollte im Übrigen moderieren und sich nicht über die etwaige Kritikresistenz anderer öffentlich äußern (speziell Nicht-Profis gegenüber)
Ja ein Moderator hat seine Aufgaben zu erfüllen und darf keine eigene Meinung haben; muss immer höflich sein und hat die Schauze zu halten.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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