AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Letzten Teil eines Strings entfernen bei unbekannter Länge
Thema durchsuchen
Ansicht
Themen-Optionen

Letzten Teil eines Strings entfernen bei unbekannter Länge

Ein Thema von SpiDe1500 · begonnen am 17. Dez 2010 · letzter Beitrag vom 18. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
SpiDe1500

Registriert seit: 13. Dez 2010
17 Beiträge
 
#1

Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 22:52
Delphi-Version: 5
Hallo,

ich muss den letzten Teil bzw Buchstaben eines Strings entfernen . Der Buchstabe ist unbekannt und die länge auch, soltle also komplett algemeingültig sein.
Der Delete Befehl ist mir bekannt, jedoch müsste ich für den irgendwie die Länge wissen, oder kann man den auch "von hinten" zählen lassen? das wäre natürlich das einfachste...
Für eine Anfänger-Freundliche (dh ausführliche) erklärung wäre ich seeehr dankbar

danke

SpiDe
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 22:56
Du kannst die Länge eines Strings mit der Funktion Delphi-Referenz durchsuchenLength ermitteln. Somit kannst du "von hinten zählen", indem du einfach die Stelle von der Länge subtrahierst.
Um die letzte Stelle zu entfernen kannst du dann die von dir angesprochene Delphi-Referenz durchsuchenDelete-Funktion oder Delphi-Referenz durchsuchenSetLength verwenden, die quasi das Gegenstück zu Delphi-Referenz durchsuchenLength ist.
  Mit Zitat antworten Zitat
SpiDe1500

Registriert seit: 13. Dez 2010
17 Beiträge
 
#3

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 22:57
Super! Danke schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:04
So geht das runterzählen...

Delphi-Quellcode:
var I: Integer;

for I :=1 downto Length(deinstring) do
  begin;

  end;
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
SpiDe1500

Registriert seit: 13. Dez 2010
17 Beiträge
 
#5

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:11
Super!
Hat geklappt...
Soll von der Schule her eine Multiplikationsaufgabe aufschlüsseln, sodass er das Ergebnis durch Plus rausbekommt.
Der gesamte Vorgang sollte dann auch in einem Label angegeben werden...
Dh, wenn ich 4 x 5 eingebe sollte im Label 5+5+5+5 stehen ...

habe das so gelöst:
begin
ergebnis := strtoint(edit1.text);
eingabe2 := strtoint(edit2.text);
eingabe2 := eingabe2 - 1;
for i:= 1 to (eingabe2) do begin
ergebnis := ergebnis + strtoint(edit1.Text) ;
formel := formel +edit2.text + '+';

end;
for I :=1 downto Length(formel) do
begin;

end;
Delete(formel, i, 1);
label2.caption := inttostr(ergebnis);
label3.Caption := formel;

Blöd nur, das bei der letzten Schleife dann noch ein + dahinter stand...
also...: 5+5+5+5+ , was kein befriedigendes Ergebnis war.
Aber nun klappts hervorragend!

Danke an Euch beide
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:32
delete(formel, length(formel), 1); ... hätte es auch getan
Michael Kübler
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:36
Und ist sicherer, denn Schleifenvariablen sind nach der Schleife undefiniert (der Compiler gibt deshalb auch eine Warnung aus). Dass dein code funktioniert, ist also reines glück.
Und for I :=1 downto Length(formel) do ist eh sinnlos, weil die Schleife eigentlich niemals durchlaufen wird, weil Length(Formel) normal > 1 ist. Zumal die Schleife ja auch gar keinen Inhalt hat, also komplett sinnlos ist.
  Mit Zitat antworten Zitat
SpiDe1500

Registriert seit: 13. Dez 2010
17 Beiträge
 
#8

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:38
Super, wieder was gelernt. 2 Befehle zusammengesetzt ergeben häufig genau das, was man sucht... muss man nur drauf kommen bzw das kennen.

Danke !
So ists natürlich geschickter!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:41
Super, wieder was gelernt. 2 Befehle zusammengesetzt ergeben häufig genau das, was man sucht... muss man nur drauf kommen bzw das kennen.

Danke !
So ists natürlich geschickter!
Delphi ist Lego für Erwachsene
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
SpiDe1500

Registriert seit: 13. Dez 2010
17 Beiträge
 
#10

AW: Letzten Teil eines Strings entfernen bei unbekannter Länge

  Alt 17. Dez 2010, 23:49
Ich merks langsam auch

Oehm, kurze Offtopic Frage:

Kennt jmd. zufällig ein Tutorial für ein einfaches Spiel, wo schritt für Schritt erklärt wird, wie man es entwickelt? Im Sinne von...Pong, Breakout...Sowas in der Richtung halt. Würde mich sehr interessieren, nicht des Spieles wegen, sondern da ich denke, das ich dort noch eine ganze Menge lernen kann.
Mir gehen nämlich langsam die Ideen aus, was ich programmieren könnte. Verschiedene Units, Timer, ... usw usf - krieg ich alles hin. Die Ereignis-Dinger (onActivate.....) habe ich auch verstanden.
Nur viel mehr als "Zufallsgeneratorspiel" (gibts bei mir auch optional mit Dateilöschung. sowas wie "windows roulette", dank wächterkarte ein lustiges spiel! ) sind momentan einfach nicht drin, da mir die Anfangsidee für etwas komplexeres fehlt.

Danke schonmal!

PS: Super Forum! Ich glaube, ihr habt mich hier jetzt öfter am Hals Werde versuchen, meine "dummen" Fragen auf ein erträgliches Minimum zu reduzieren und mich mehr an die Suchfunktion halten.

MfG

SpiDe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz