Verzeichnisweitergabe



  • versteh eure Posts leider nicht 🙂

    Der Umgang mit dem Debugger ist mir auch noch nicht geläufig 😃



  • Azad187 schrieb:

    Der Umgang mit dem Debugger ist mir auch noch nicht geläufig 😃

    na dan schleunigst http://www.junix.ch/bcb/help



  • Falls Du mal Deine <<\>> vervielfältigen willst.

    ordner->Add(AnsiReplaceText(Form3->Edit2->Text,"\\","\\\\"));
    

    Schau unter AnsiReplaceText nach.

    Ebenfalls interessant/hilfreich/lehrreich für dürfte das BCB-Thema "String-Konstanten" sowie "Der umgekehrte Schrägstrich" sein.



  • caspar_louis schrieb:

    ordner->Add(AnsiReplaceText(Form3->Edit2->Text,"\\","\\\\"));
    

    Das solltest Du tunlichst vermeiden, da es in diesem Fall schlicht und ergreifend falsch ist.



  • Bei dem AnsiReplaceText macht er bei mir auch zicken...
    Aber so ne Art Lösung ist schon nicht schlecht...

    Allerdings ärgert es mich das er das so nicht erkennt, obwohl er es am anderen PC so erkannt hat, wie ich es vorher gemacht hatte...



  • Sonderzeichen werden dargestellt durch einen Backslash (\):
    '\n' Zeilenende-Zeichen (new line)
    '\t' Tabulatorzeichen
    '\'' Hochkomma (')
    '\"' Anführungszeichen (")
    '\' Backslash (\)
    usw.



  • Also

    Form3->Edit1->Text=DirectoryListBox1->Directory;
    

    So weise ich dem Editfeld das Directory zu das wäre z.B. C:\Programme.

    Wenn das mit dem Ansireplacetext funzen würde, wäre das immer noch ein Problem da er dann C:\Programme\ , übergeben hätte müssen damit es richtig funktioniert.

    Die Pfade werden immer in einer ini gespeichert und wieder aus-eingelsen beim Programmstart... aber das spielt ja keine rolle.

    TStringList *ordner=new TStringList();
     if (CheckBox1->Checked == true)
      {
       ordner->Add(Form3->Edit2->Text);
      }
      else {};
    

    ...Am Ende werden sie halt zugewiesen

    Memo3->Lines->SaveToFile(ordner->Strings[d]+Query4->Fields->Fields[0]->AsString+"_nerv.gtw");
    

    Hier wird gespeichert.. Man erkennt auch schnell das er den Ordner nicht richtig erkennt, weil er als Speichername:
    Ordnername+Query.... nimmt und nicht
    in den Ordner speichert + den Name der Query...



  • NOCHMAL DEUTLICHER: AN DEN ESCAPE SEQUENZEN HERUMZUPFUSCHEN WIRD AUF GAR KEINEN FALL DEIN PROBLEM LÖSEN.



  • Wenn das mit dem Ansireplacetext funzen würde, wäre das immer noch ein Problem da er dann C:\Programme\ , übergeben hätte müssen damit es richtig funktioniert.

    Was hindert dich daran das fehlende Backslash an den String anzuhängen.
    Hierzu wurde unter anderem auch beim AnsiString der Operator + überladen.



  • Joe_M. schrieb:

    caspar_louis schrieb:

    ordner->Add(AnsiReplaceText(Form3->Edit2->Text,"\\","\\\\"));
    

    Das solltest Du tunlichst vermeiden, da es in diesem Fall schlicht und ergreifend falsch ist.

    @ Joe_M
    So war das auch nicht gemeint. Ich hab das extra in den Code von Azad reingepackt, damit er eine Verbindung auf sich sieht und sich dann die Hilfethemen reinzieht.



  • ja gut das ist kein problem,

    Form3->Edit2->Text=DirectoryListBox1->Directory+"\\";
    

    so habe ich dann halt C:\Programme\, aber das mit dem AnsiReplaceText das check ich noch net. Vllt., hilft mir ja google 😉



  • Azad187 schrieb:

    ja gut das ist kein problem,

    Form3->Edit2->Text=DirectoryListBox1->Directory+"\\";
    

    so habe ich dann halt C:\Programme\, aber das mit dem AnsiReplaceText das check ich noch net. Vllt., hilft mir ja google 😉

    siehe dafür IncludeTrailingPathDelimiter



  • #include<SysUtils>
    ordner->Add(ordner->Add(IncludeTrailingPathDelimiter(Form3->Edit2->Text));
    

    hmm kennt er das beim C++ Builder 5 noch nicht ??



  • Der BCB5 kennt diese Funktion. Das richtige include heißt aber #include <SysUtils.hpp>



  • Braunstein schrieb:

    Der BCB5 kennt diese Funktion. Das richtige include heißt aber #include <SysUtils.hpp>

    Wie man auch unschwer der BCB-Hilfe hätte entnehmen können...

    caspar_louis schrieb:

    @ Joe_M
    So war das auch nicht gemeint. Ich hab das extra in den Code von Azad reingepackt, damit er eine Verbindung auf sich sieht und sich dann die Hilfethemen reinzieht.

    Sorry, dann hatte ich Dich mißverstanden...



  • @Joe_M.
    Ja ich hab auch schon gemerkt, daß Azad nicht so viel mit der Hilfe vorhat, deshalb die Anfütterung 😉 .

    @Azad
    Ich bin auch immer so ein Vorschneller, bei dem alles sofort gehen muß. Mittlerweile habe ich aber gelernt, daß die Hilfe oft die schnellste und eine gute Lösung ist. Wenn ich die Hilfe nicht verstehe, dann fehlen mir meist Grundlagen zum Verständnis dieser. Dann hilft nur noch mehr Hilfe. Sonst verstehe ich auch die Hinweise hier im Forum nicht.



  • so Herren Klug von Schiss

    #include <SysUtils.hpp>
    

    das war mir auch schon klar....

    [C++ Fehler] Unit1.cpp(245): E2268 Aufruf der undefinierten Funktion 'IncludeTrailingPathDelimiter'

    IncludeTrailingPathDelimiter - Borlandhilfe = keine !



  • Das es dort eine Funktion IncludeTrailingBackslash gibt, ist Dir nicht zufällig aufgefallen?

    In Zukunft wirst dann auf meine Klugscheißerei verzichten müssen...



  • Azad187 schrieb:

    IncludeTrailingPathDelimiter - Borlandhilfe = keine !

    Ensures path name ends with delimiter.

    Unit

    SysUtils

    Category

    file name utilities

    extern PACKAGE AnsiString __fastcall IncludeTrailingPathDelimiter(const AnsiString S);

    Description

    IncludeTrailingPathDelimiter ensures that a path name ends with a trailing path delimiter ('\" on Windows, '/' on Linux). If S already ends with a trailing delimiter character, it is returned unchanged; otherwise S with appended delimiter character is returned.

    Note: IncludeTrailingPathDelimiter works with multibyte character sets.



  • Vielen Dank !

    Klappt so wie gewünscht...
    Joe_M ich möchte trotzdem nicht auf deine Hilfe verzichten 😉


Anmelden zum Antworten