Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit hochkomma in String (https://www.delphipraxis.net/44954-problem-mit-hochkomma-string.html)

jfheins 27. Apr 2005 14:55

Re: Wie kann ich ein hochkommer finden ??
 
Jetzt könnte natürlich auch jemand auf die dumme Idee kommen, und ein ' in die Mysql-DB schreiben wollen.
Er escapt zwar das ' durch \' aber deine Lösung sieht da nicht so gut aus :wink:

chrisw 27. Apr 2005 15:02

Re: Wie kann ich ein hochkommer finden ??
 
Zitat:

Jetzt könnte natürlich auch jemand auf die dumme Idee kommen, und ein ' in die Mysql-DB schreiben wollen.
Er escapt zwar das ' durch \' aber deine Lösung sieht da nicht so gut aus
OK, das muss man Ausschliessen oder Abfangen !!

Gigant02 27. Apr 2005 15:24

Re: Wie kann ich ein hochkommer finden ??
 
so

nun muss ich leider nach hause fahren

aber ich werd michheuteabend damit beschäftigen
und euch weiter mit meinen problemen nerven

aber deine lösung geviel mir schon sehr gut

chrisw

ich werd sie glaub ich noch etwa auschmücken und euch dann heuteabend nochmal vorstellen

lg, gigant02

Gigant02 27. Apr 2005 16:19

Re: Wie kann ich ein hochkommer finden ??
 
So nun ich habe es geschaft ich bin zuhause

ok mein Delphi 5 ist gestartet und nun geht es weiter mit testen

Gigant02 27. Apr 2005 17:08

Re: Wie kann ich ein hochkommer finden ??
 
mensch das geht ja

nun noch eine frage

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var stri : String;
    i   : Integer;
    ZwischenZweiHochkommas : Boolean;
begin
  stri := 'Select * from ARTIKEL where a_nr = ''Hallo''';
  ZwischenZweiHochkommas := False;
  for i := 1 to length(stri) do
  begin
    if stri[i] = '''' then begin
      ZwischenZweiHochkommas := not ZwischenZweiHochkommas;
    end;
    if not ZwischenZweiHochkommas then begin
      if (ord(Stri[i]) >= 65) and (ord(Stri[i]) <= 90) then begin
        Stri[i] := chr(ord(stri[i]) +32);
      end;
    end;
  end;
  showmessage(stri);

end;

end.
wo wandel ich das in kleinbuchstaben um ??

Waldteufel 27. Apr 2005 17:11

Re: Wie kann ich ein hochkommer finden ??
 
Hi.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var stri : String;
    i   : Integer;
    ZwischenZweiHochkommas : Boolean;
begin
  stri := 'Select * from ARTIKEL where a_nr = ''Hallo''';
  ZwischenZweiHochkommas := False;
  for i := 1 to length(stri) do
  begin
    if stri[i] = '''' then begin
      ZwischenZweiHochkommas := not ZwischenZweiHochkommas;
    end;
    if not ZwischenZweiHochkommas then begin
      if (ord(Stri[i]) >= 65) and (ord(Stri[i]) <= 90) then begin
        Stri[i] := chr(ord(stri[i]) +32); // <-- hier wird umgewandelt
      end;
    end;
  end;
  showmessage(stri);

end;

end.

Gigant02 27. Apr 2005 17:44

Re: Wie kann ich ein hochkommer finden ??
 
lach ich blinde nuss

ok ich sach schon nix mehr

lg, Alex

Gigant02 27. Apr 2005 19:21

Re: Wie kann ich ein hochkommer finden ??
 
ok doch ich frag doch noch was

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var stri : String;
    i   : Integer;
    ZwischenZweiHochkommas : Boolean;
begin

  stri := 'Select * from ARTIKEL where a_nr = ''Hallo'' ' +
          'Select * from ARTIKEL where a_nr = ''Hallo''';

  ZwischenZweiHochkommas := False;
  for i := 1 to length(stri) do
  begin
    if stri[i] = '''' then begin
      ZwischenZweiHochkommas := not ZwischenZweiHochkommas;
    end;
    if not ZwischenZweiHochkommas then begin
      if (ord(Stri[i]) >= 65) and (ord(Stri[i]) <= 90) then begin
        Stri[i] := chr(ord(stri[i]) +32);
      end;
    end;
  end;

  showmessage(stri);

end;
Nun gut ich frage mich warum die zeile
ZwischenZweiHochkommas := not ZwischenZweiHochkommas;
so ist und nicht
ZwischenZweiHochkommas := False;

was mache ich da mit der Boolischen Variable ???

also ich habe gerade rumprobiert und so wie ich meine geht es nicht

aber was wird da gemacht ich kenn das so überhaupt nicht

kann mir das mal einer erklären ???

lg, Gigant

jfheins 27. Apr 2005 19:24

Re: Wie kann ich ein hochkommer finden ??
 
Du kehrst sie um. Wenn sie True war, ist sie jetzt False und umgekehrt.

Wenn du also in Hochkommata warst, bist du jetzt nicht mehr drin und umgekehrt ...

;)

alcaeus 27. Apr 2005 19:25

Re: Wie kann ich ein hochkommer finden ??
 
Hallo Gigant02,

naja, du startest ausserhalb von Hochkommas. Sobald du auf ein Hochkomma triffst, muss die Variable true sein, beim naechsten '' wieder false, dann wieder true usw. Das geht eben mal mit dem not-Konstrukt.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 Uhr.
Seite 3 von 4     123 4      

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