AnsiPos() versus AnsiString.Pos()



  • Hi!

    Hab' hier ein Problem, dass ich nicht verstehe:

    Folgendes funktioniert:

    AnsiString GetAnsiString(AnsiString input, AnsiString search)
    {
            if (!search.IsEmpty())
            {
                    input.Delete(1, (AnsiPos(search, input) + search.Length() - 1));
                    input.Delete((AnsiPos('\n', input) + 1), input.Length());
                    input = input.Trim();
            }
            return input;
    }
    

    und das funktioniert nicht:

    AnsiString GetAnsiString(AnsiString input, AnsiString search)
    {
            if (!search.IsEmpty())
            {
                    //search.Pos() function doesn't work!! I don't no why!
                    input.Delete(1, (search.Pos(input) + search.Length() - 1));
                    input.Delete((search.Pos('\n') + 1), input.Length());
                    input = input.Trim();
            }
            return input;
    }
    

    Ist doch eigentlich genau dieselbe Funktion! Trotzdem geht's nicht! Hat jemand eine Idee warum?

    Sebo



  • SeboStone schrieb:

    [cpp]input.Delete((AnsiPos('\n', input) + 1), input.Length());
    ...
    input.Delete((search.Pos('\n') + 1), input.Length());[/cpp]
    Ist doch eigentlich genau dieselbe Funktion!

    Wirklich!?



  • Ähm, ja, peinlich! 🙂
    Aber ich hab' DIE Ausrede: Es war schon soooo spät, da fällt das Denken schwer! *gg*

    Danke!


Anmelden zum Antworten