Memo Text in StringGrid laden



  • Schön das es klappt.

    Grundsätzlich gilt hier: pro Frage 1 Thread. Deine Frage hat aber nix mehr mit dem Ursprungsthread zu tun. Ich möchte dich deshalb bitten einen neuen Thread zu eröffnen.

    Allerdings würde ich dir zunächst empfehlen mal die Hilfe zum Thema TComboBox genauer anzusehen und vielleicht zunächst den hinter "hilfe" gelegten Link mal zu verfolgen.

    Ahja und für die Zukunft:

    char host[] = "                ";  // 15+1 Zeichen  zb: dewe0345
    

    Auf solche dinger, verzichte bitte in Zukunft, das ist mehr als unsauber. Hier gäbe es zum einen die Möglichkeit über

    char host[16];
    memset(host, 0, 16);
    

    Dein Ziel zu erreichen, zum Andern über

    char *host = new char[16];
    memset(host, 0, 16);
    

    uvm.

    -junix

    [ Dieser Beitrag wurde am 02.04.2003 um 08:33 Uhr von junix editiert. ]



  • danke! werd's in zukunft beachten.

    ciao
    Luke 🙂



  • Original erstellt von junix:
    **

    Ahja und für die Zukunft:

    char host[] = "                ";  // 15+1 Zeichen  zb: dewe0345
    

    Auf solche dinger, verzichte bitte in Zukunft, das ist mehr als unsauber. Hier gäbe es zum einen die Möglichkeit über

    char host[16];
    memset(host, 0, 16);
    

    Dein Ziel zu erreichen, zum Andern über

    char *host = new char[16];
    memset(host, 0, 16);
    

    uvm.

    -junix

    [ Dieser Beitrag wurde am 02.04.2003 um 08:33 Uhr von [qb]junix** editiert. ][/QB]

    Hi junix, deine tipps funktionieren leider in meinem programm nicht. ich weiß auch, dass

    char host[] = "                ";
    

    nicht sehr elegant ist aber es funktioniert.

    gruß Luke :p



  • 1. Bitte lies das hier mal genauer durch. Vor Allem den Abschnitt 2.1.

    2. Es ist nicht nur nicht elegant sondern fahrlässig. Wieso funktionieren die Tips nicht? Wenns nur drum geht, dass keine Leerzeichen drin stehen (so wies eigentlich normal ist, wenn kein Inhalt drin ist) dann solltest du dir die Parameter von memset() mal genauer ansehen.

    -junix



  • jaja schon kapiert...



  • hmm, keine Ahnung, warum Deine Tipps nicht funktionieren. Er compiliert schon richtig durch (ohne Fehler) aber letztendlich bleibt die entsprechende Zelle im StringGrid leer. Ich komm eh immer durcheinander mit den ganzen Stringtypen...

    Gruß Luke
    PS Sorry bin nicht oft in Foren 🙄



  • Original erstellt von luketjm:
    aber letztendlich bleibt die entsprechende Zelle im StringGrid leer.

    Zwei Dinge
    1. Mit dem Debugger shcon mal die Initialisierung verfolgt? (Falls du dich mit dem Debuggen nicht auskennst hier gibts hilfe.
    2. Ist die Zelle wirklich leer oder einfach voll von Leerzeichen? Wie ich schon sagte. Ich initialisiere Character-Arrays immer auf 0x00, weil ich dann mit strlen jederzeit die Länge rausfinden kann (und solange niemand was reinschreibt ist die stringlänge 0) und ausserdem das abschliessende \0 (od. 0x00, oder was auch immer) bereits gesetzt wird. Wenn du unbedingt leerzeichen willst, musst du hald bei memset den mittleren Parameter passend setzen.

    Du kannst auch auf a initialisieren:

    char host[16];
    host[15] = 0x00; // abschliessendes 0x00 setzen für sie str*-Funktionen
    memset(host, 'a', 15); // restlichen Zeichen mit 'a' initialisieren.
    

    -junix



  • hmm, beim initialisieren von host mit

    char host[16];
    

    stehen zunächst zufällige zeichen im char zb "Gt&@/³s5µ9ß/@y>J" dann kommt

    memset(host, 0, 16);
    

    und er schreibt host voll mit Nullterminatoren zb "\0\0\0\0\0\0\0\0\0..." wenn dann host im stringgrid ausgegeben werden soll, steht "\0\0\0Hostename\0" drin, weswegen er natürlich nichts ausgeben kann. Warum füllt er denn den char mit "\0" aus? Ist das normal??

    Luke



  • Überprüfe mal folgende Punkte:



    -junix



  • Überprüfe mal folgende Punkte:



    ich habe für c ' ' eingesetzt jetzt ist es okay ich dachte erst, man kann nur int werte einsetzen.

    thx Luke


Anmelden zum Antworten