AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Buchstaben Kette in Klammern erkennen

Buchstaben Kette in Klammern erkennen

Ein Thema von Trafel21 · begonnen am 31. Jan 2019 · letzter Beitrag vom 31. Jan 2019
Antwort Antwort
Seite 2 von 2     12
Trafel21

Registriert seit: 16. Nov 2018
53 Beiträge
 
#11

AW: Buchstaben Kette in Klammern erkennen

  Alt 31. Jan 2019, 13:19
Hier funktioniert nur das if (NUMBER_C SIMILAR TO '(') nicht. Es kommt ein Fehler "Invalid SIMILAR TO pattern".

Ziemlich verzweifelnd.
bei den anderen Ifs schreibst Du if (:NUMBER_C SIMILAR TO Fehlt da nur ein Doppelpunkt?
Ob oder ohne spielt in diesem Fall leider keine Rolle.



Code:
    IN_NUMBERS = REPLACE(:IN_NUMBERS,'(','°');
    IN_NUMBERS = REPLACE(:IN_NUMBERS,')','`');

    I=0;
    NUMBER_C = NULL;
    NUMBERS = NULL;
    while (:I<CHAR_LENGTH(:IN_NUMBERS)) do
    begin
      I= :I+1;
      NUMBER_C = SUBSTRING(:IN_NUMBERS FROM :I FOR 1);

      --EXCEPTION EXCEPT_LEER NUMBER_C;
      if (:NUMBER_C SIMILAR TO '°') then
      begin
        NUMBERS = :NUMBER_C; -- ( auslesen
        I=:I+1;
        --EXCEPTION EXCEPT_LEER NUMBERS;
        while (:I<CHAR_LENGTH(:IN_NUMBERS)) do
        begin
          NUMBER_C = SUBSTRING(:IN_NUMBERS FROM :I FOR 1);

          IF (:NUMBER_C SIMILAR TO '[[:ALPHA:]]') THEN
          begin
            NUMBERS = NUMBERS || :NUMBER_C; -- Nach der ( Buchstabeninhalt auslesen
          end
          else IF (:NUMBER_C SIMILAR TO '`') THEN
          begin
              NUMBERS = NUMBERS || :NUMBER_C; -- ) auslesen
              IN_NUMBERS = REPLACE(:IN_NUMBERS,NUMBERS,NUMBERS||'^'); -- zur Trennung ^ setzen
              break;
          end

        I=:I+1;
        end
      end
    end
Ich hab die Klammern einfach mit anderen Zeichen replaced. Jetzt funktioniert es zumindestens schon einmal zur Hälfte, die 1. Buchstabenfolge wird ein ^ angehangen. Die 2. Wird leider nicht gefunden. Wie verhält sich den ein Break in 2 While's mit einer If ab frage?

Code:
while (x)
begin
   while (y)
   begin
    if (z) then break;
   end
end
Spring ich aus beiden heraus? oder nur aus der while y ?
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
256 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Buchstaben Kette in Klammern erkennen

  Alt 31. Jan 2019, 13:41
Zitat:
Google sagt für "SQL Break": BREAK beendet die aktuelle WHILE-Schleife. Wenn die aktuelle WHILE-Schleife mit einer anderen verschachtelt ist, beendet BREAK nur die aktuelle Schleife, und die Steuerung wird für die nächste Anweisung in der äußeren Schleife erteilt.
Und aus dem reinen Verständnis hätte ich dies auch so verstanden.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf