AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Das letzte Zeichen eines Strings ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Das letzte Zeichen eines Strings ermitteln

Ein Thema von S2B · begonnen am 10. Jul 2004 · letzter Beitrag vom 11. Jul 2004
Antwort Antwort
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#1

Das letzte Zeichen eines Strings ermitteln

  Alt 10. Jul 2004, 22:48
Mit diesem Code kann man das letzte Zeichen eines Strings ermitteln:
Delphi-Quellcode:
var s: String;
begin
  Label1.Caption:=copy(s,Length(s)-1,0);
end;
Das kann man z.B. dazu verwenden, um einen Pfad um ein fehlendes "\" am Schluss zu ergänzen:
if copy(s,Length(s)-1,0)<>'\then s:=s + '\'; Edit: Ohne Worte!
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#2

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 10. Jul 2004, 23:02
Ich muss dich korrigieren.

Zitat:
copy(s,Length(s)-1,0);
liefert IMMER einen leeren String zurück. Wenn muss es heissten
copy(s,Length(s)-1,[b]1[/b]); und ausserdem gibt es die Funktion RightStr mit der das letzte Zeichen so ermittelt wird:RightStr(s, 1); womit dein Beispiel Code so aussieht:if RightStr(s, 1)<>'\then s:=s + '\';
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#3

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 10. Jul 2004, 23:06


Für Deine Anwendung :
function IncludeTrailingBackslash(const S: string): string;
Die Hilfe selbst
IncludeTrailingBackslash stellt sicher, daß ein Pfadname mit einem Begrenzungszeichen endet ('\'). Diese Funktion ist nur aus Gründen der Abwärtskompatibilität enthalten. In neuen Programmen sollte die Funktion IncludeTrailingPathDelimiter verwendet werden.


-> IncludeTrailingPathDelimiter


mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#4

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 10. Jul 2004, 23:14
Zitat von rantanplan99:
Zitat:
copy(s,Length(s)-1,0);
liefert IMMER einen leeren String zurück. Wenn muss es heissten
copy(s,Length(s)-1,[b]1[/b]);
Ach so! Als ich nämlich einen String mit einem "\" am Schluss überprüft habe, dann kam bei
copy(s,Length(s)-1,1); Der letzte Buchstabe des Ordners und nicht der "\". Irgendwie ist das komisch! Aber ich werde jetzt eine der beiden Varianten verwenden!
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 10. Jul 2004, 23:39
Hi,
sString[length(sString)] ist auch noch eine Möglichkeit.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 11. Jul 2004, 08:52
@Chakotay1308: Bei deiner Variante musst du aber noch sicherstellen das es kein LeerString ist sonst knallts
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 11. Jul 2004, 11:56
Hi,
stimmt. Wenn ich dann aber schreibe
Delphi-Quellcode:
{Das ich hier zwei Abfragen habe, dient nur zur Verdeutlichung. Man sollte sich auf eines beschränken, alles andere wäre uneffektiv}
if (length(TempString) <> 0) or (TempString <> '') then
  LastChar := TempString[length(TempString)]
else
  LastChar := '';
Chris
  Mit Zitat antworten Zitat
11. Jul 2004, 11:57
Dieses Thema wurde von "sakura" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Object-Pascal / Delphi-Language" verschoben.
Neu verfassen, wenn Du immer noch meinst, daß das wirklich einen Eintrag in die CL wert ist
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Das letzte Zeichen eines Strings ermitteln

  Alt 11. Jul 2004, 15:28
Moin Zusammen,

und dann könnte man noch die Funktion AnsiLastChar benutzen
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:07 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