AnsiCompare / strcmp



  • Hallo an alle,

    Ich schreibe gerade an einem Adressenverwaltungsprogramm. Mein Problem: Unter Borland C++ 5.02 bekomme ich das alles zum Laufen, jetzt möchte ich die ganze Geschichte gerne im Builder implementieren.

    Ich möchte gerne zwei Namen miteinander vergleichen zum sortieren.
    Als Variablentyp habe ich AnsiString gewählt...ist des ok?

    unter 5.02 hatte ich des so gemacht:

    struct adresse
    {
    char name[30];
    char vorname [30];
    char tel_nr[15];
    };
    struct adresse adr [100];

    und verglichen dementsprechend mit strcmp(adr[x].name, adr[y].name)>0

    Nun habe ich beim Builder schon AnsiCompare gefunden, aber bekomme die Fehlermeldung das er die Funktion nicht findet...

    Wie bekomme ich AnsiCompare zum laufen???
    Oder:
    Wie kann ich aus einem Edit einzelne Zeichen in einer Variablen speichern???

    Meine Struktur sieht nun wie folgt aus....
    struct adresse
    {
    AnsiString name;
    AnsiString vorname;
    AnsiString tel_nr;
    };

    Vielen Dank für Eure schnelle Hilfe
    Sylvia



  • AnsiStrings kannst Du direkt vergleichen... zb if (String1 < String2)

    Näheres findest Du in der Hilfe zu AnsiString unter Operatoren.

    Einzelne Zeichen aus AnsiString kann man mit SubString holen.

    Warum AnsiString::AnsiCompare nicht gefunden werden sollte ist mir unklar... Wie verwendest Du AnsiCompare. Poste bitte mal die entsprechende Zeile.



  • Manchmal liegt die Lösung so nah und doch so fern :-p

    Aber noch ein anderes Problem.

    Wenn ich aus einem Memo die 4. Zeile gerne in eine Variable speichern möchte....wie mache ich das dann?

    ich dachte an

    AnsiString var;
    var=Memo1->Lines (1);

    aber das gibt es wohl nicht, bzw die Syntax stimmt nicht?
    Habt ihr dafür eine Lösung???

    Grüße

    Sylvia



  • Kaufen Sie noch heute "Eckige Klammern". "Eckige Klammern", heute zwei zum Preis von einer 😉

    SCNR



  • hmmm.......ok das anstatt der runden schicke eckige klammern zu verwenden habe ich ja auch ausprobiert, aber dann bekomme ich mecker von wegen:
    "Keine Übereinstimmung für 'AnsiString::operator=(TStrings)' gefunden.

    Muss ich des noch irgendwie in AnsiString konvertieren?
    eigentlich dachte ich ja AnsiString wäre ein TString....

    aber ok.

    AnsiString var;
    var=Memo1->Lines [1];

    irgendwas fehlt da noch 🙂

    gruß sylvia



  • ...Lines->Strings[...
    Und es gibt kein TString. Nur TStrings. Mehrzahl.



  • Jau vielen Dank für die Hilfe, jetzt klappt alles bestens *strahl*


Anmelden zum Antworten