Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#6

AW: Doppelte durch einfache Hochkommas ersetzen

  Alt 20. Sep 2019, 13:24
Hmmm..

Wenn ich das richtig sehe, soll aus:

Code:
CREATE TABLE "PdfOfficerDB"."tblAuthor"("AuthorID" INTEGER PRIMARY KEY NOT NULL,
                                        "Name" VARCHAR(45) NOT NULL,
                                        "Vorname" VARCHAR(45) NOT NULL,
                                        "tblUser_idTblUser" INTEGER NOT NULL,
                                        CONSTRAINT "fk_tblAuthor_tblUser1"
                                          FOREIGN KEY("tblUser_idTblUser")
                                          REFERENCES "tblUser"("idTblUser"));
folgendes werden:
Code:
'CREATE TABLE PdfOfficerDB.tblAuthor(AuthorID INTEGER PRIMARY KEY NOT NULL, '+
                                        'Name VARCHAR(45) NOT NULL, '+
                                        'Vorname VARCHAR(45) NOT NULL, '+
                                        'tblUser_idTblUser INTEGER NOT NULL, '+
                                        'CONSTRAINT fk_tblAuthor_tblUser1 '+
                                          'FOREIGN KEY(tblUser_idTblUser) '+
                                          'REFERENCES tblUser(idTblUser)); ';
Wenn das richtig ist, dann würde es z.B. so gehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  sl : TStringList;
  l : integer;
begin
  sl := TStringList.Create;
  try
    // Alle " löschen
    sl.Text := Trim(StringReplace(Memo1.Text,'"','',[rfReplaceAll]));
    for i := 0 to sl.Count-1 do begin
      // Anzahl führende Leerzeichen ermitteln
      l := Length(sl[i]) - Length(Trim(sl[i]));
      // Führende Leerzeichen + in Anführungszeichen setzen (mit Trennleerzeichen je Zeilenende)
      sl[i] := StringOfChar(' ',l) + QuotedStr(Trim(sl[i])+ ' ');
      // '+' bei allen Zeilen, außer der letzten, anhängen
      if i < sl.Count-1 then
        sl[i] := sl[i] +'+'
      else
        // ';' bei letzter Zeilen anhängen
        sl[i] := sl[i] +';';
    end;
    Memo2.Text := sl.Text;
  finally
    sl.Free;
  end;
end;
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat