Teilstrings zweier Edit Felder in ein drittes Kopieren
-
Ich würde gerne über einen Nachnamen in Edit1 und einen Vornamen in Edit2 eine Benutzerkürzel in Edit3 generieren die folgendermassen aussehen soll:
Länge des Kürzels <= 8 Zeichen
6 Zeichen vom Nachnamen
2 Zeichen vom Vornamen
Sollte der Nachname kleiner als 6 Zeichen sein dann fülle bis 8 Zeichen mit dem Vornamen auf.
Sollte Nachname und Vorname zusammen kleiner als 8 Zeichen sein dann nimm alle ZeichenBsp:
Nachname in Edit1: Mueller
Vorname in Edit2: Wolfgang
Kürzel durch Ereignis in Edit3: MUELLEWOKann mir da wer helfen? Danke.
-
Wieviele Beiträge liefert die Suchfunktion zum Thema 'teilstring', und wieviele davon hast du gelesen?
-
ok sorry cheffe war etwas voreil...
damit hat mir di esuche geholefn ok:
AnsiString k = DBEnachname->Text.SubString(1,6); k = k + DBEvorname->Text.SubString(1,2); DBEkennung->Text = k;
aber wie kann ich jetzt ermitteln ob der String in DBEnachname->Text >= 6 Zeichen ist um dann entsprechend der Länge des Nachnamen die gewünschten 8 Zeichen mit dem Vornamen variabel aufzufüllen?
-
for (int i = 1; i <= DBEnachname->Text.Length(); i++) { DBkennung->Text += DBENachname->Text[i]; if (DBKennung->Text.Length() == 6) break; } for (int i = 1; i <= DBEvorname->Text.Length(); i++) { DBEkennung->Text += DBEvorname->Text[i]; if (DBKennung->Text.Length() == 8) break; }
Anmerkungen: auf dem Rechner hier ist leider kein Compiler installiert - ich kann dir also nicht sagen, ob der Code wirklich so funktioniert.
-
AnsiString nn, vn, kn; if( Edit1->Text.Length < 6 ) nn = Edit1->Text; else nn = Edit1->Text.SubString(1,6); vn = Edit2->Text; AnsiString tmp = nn + vn; kn = tmp.SubString(1,8);
nicht getestet, aber sollte funktionieren
grüssle
-
jo genau so hab ichs gemeint...
danke euch vielmals