Autor Beitrag
Jagg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Do 18.07.02 16:26 
Hallo !

ich habe eine Datei "Test.dbf",die angzeigt wird !
Wie mache ich,das nur noch "Test" angezeigt wird ?

Jagg !
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 18.07.02 16:30 
Ich schlage spontan "ChangeFileExt" vor. :wink:
Bitte die Hilfe referieren - ist nämlich sehr einfach!
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 18.07.02 16:33 
Ich denke mal Du willst nur den Dateinamen ohne die Extension haben, oder? Die Funktion ExtractFilename kennst du ja (hast in einem anderen Posting jedenfalls mal gepostet). Dann schau mal in der Hilfe unter dem Begriff ExtractFilename nach. Dort findest Du einen Link zu der Kategorie Dateizugriff und dort findest Du bestimmt eine Funktion die genau das macht was Du suchst :D

Gruß
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 18.07.02 17:42 
Etwa so:

ausblenden Quelltext
1:
2:
sFile:='c:\datei.dbf';
sFileName:=Copy(ExtractFileName(sFile),0,Pos(LowerCase(ExtractFileExt(sFile)),LowerCase(ExtractFileName(sFile)))-1);


Zuletzt bearbeitet von hitstec am Do 18.07.02 17:54, insgesamt 1-mal bearbeitet
DennisB
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 18.07.02 17:48 
Hi

Es geht auch so:

ausblenden Quelltext
1:
copy(x,1,pos('.',x)-1)					


X ist dann das String, wo was wech soll.
Der befehl Copy Kopiert nur teile eines Strings.

Hier fängt er mit dem 1. Buchstaben an und hört mit dem Buchstaben vor dem "." auf.

Grüße
DennisB

_________________
Gutes Wetter = gute Laune. Nach meiner Laune muss das Wetter also gut sein...


Zuletzt bearbeitet von DennisB am Do 18.07.02 18:26, insgesamt 1-mal bearbeitet
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 18.07.02 17:52 
Pech nur, wenn der Name der datei so heißt: "datei.blabla.dbf" :shock:

Dann musst du höchstens von hinten anfangen nach dem Punkt zu suchen.

Zitat:
copy(x,1,pos('.',x)-1

Da fehlt eine Klammer:

ausblenden Quelltext
1:
copy(x,1,pos('.',x)-1)					
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Do 18.07.02 18:40 
ich danke euch für eure zahlreichen antworten
Weitere Fragen und Themen folgen !
:-)))))))))))))))
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Do 18.07.02 22:21 
ist extract filename nicht einfacher?

ausblenden Quelltext
1:
datei:=ExtractFileName(datei);					
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 18.07.02 22:26 
Lies dir doch bitte nochmal den ersten Posting genau durch. :shock:
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Do 18.07.02 22:29 
Deinen, wozu mit copy?
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 18.07.02 22:34 
Also gut: Bei der Frage hier geht es darum den Namen einer Datei ohne Extension herauszufinden. ExtractFileName liefert aber den Dateinamen+Extension.
Deshalb muss man die Extension herausfiltern, so wie diese Funktion es macht:

ausblenden Quelltext
1:
2:
sFile:='c:\datei.dbf'; 
sFileName:=Copy(ExtractFileName(sFile),0,Pos(LowerCase(ExtractFileExt(sFile)),LowerCase(ExtractFileName(sFile)))-1);
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Do 18.07.02 22:37 
ok
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Do 18.07.02 22:39 
:wink:
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Fr 19.07.02 03:26 
Titel: Und noch ein paar...
Hi,
das sind ja schon ne menge möglichkeiten (und da sage einer mal das delphi nicht vielseitig sei...) 8)

Ich hab auch noch ein paar Möglichkeiten:
mal gucken wieviel wir zusammenkriegen.... :wink:

ausblenden Quelltext
1:
2:
3:
4:
5:
var
langname, kurzbame : string;
begin
ansireplacestr(langname,'.dbf','');
end;


oder noch eine:

ausblenden Quelltext
1:
2:
3:
4:
5:
var
name :string;
begin
name := delete(name,ansipos(langname,'dbf'),4);
end;


CU
Catweasel :D
DennisB
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Fr 19.07.02 07:44 
Hi

Also wenn es IMMER drei Buchstaben sind würde auch folgendes gehen:copy(path,1,length(path)-4)

Grüße
Denni

PS ich bin ein großer freund der COPY funktion...

_________________
Gutes Wetter = gute Laune. Nach meiner Laune muss das Wetter also gut sein...
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 19.07.02 08:23 
Hey Leute !

Mein Code :
ausblenden Quelltext
1:
2:
ComboBox1.Items.Add(SearchRec.Name);
copy(x,1,pos('.',x)-1)


SearchRec.Name = DateiName !

Nach dieser Ausführung klappt es nicht,ich habe auch x als string deklariert,was muss ich noch machen ???

PS : Muss ich vllt 'x := SearchRec.Name' machen ???
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 19.07.02 08:38 
Ich habe es jetzt
Code :
ausblenden Quelltext
1:
2:
SearchRec.Name := copy(SearchRec.Name,1,pos('.',SearchRec.Name)-1);
 ComboBox1.Items.Add(SearchRec.Name);


Trotzdem Danke für eure Bemühungen !

Jagg !

PS : Seht euch bitte das an,vllt könnt Ihr mir das auch helfen :
www.auq.de/viewtopic.php?t=786
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 19.07.02 08:44 
und dieser Link hier :
www.auq.de/viewtopic.php?t=744
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 19.07.02 08:48 
DennisB hat folgendes geschrieben:
Also wenn es IMMER drei Buchstaben sind würde auch folgendes gehen

Möglich, dass Jagg das in diesem Fall vielleicht reichen würde. Sobald er aber die Funktion in einem anderen Programm ein weiteres Mal benötigt, steht er vor dem Problem, wieder ändern zu müssen. Da wäre es besser, von Anfang an so universell zu arbeiten, dass man den Code immer wieder verwenden kann und evtl. nur minimal anpassen muss.

MathiasSimmack hat folgendes geschrieben:
Ich schlage spontan "ChangeFileExt" vor.

Was passiert in diesem Fall:
ausblenden Quelltext
1:
ShowMessage(ChangeFileExt('Test.dbf',''));					

:?:

Diese Delphi-Funktion hat den Vorteil, dass sie auch bei mehreren Punkten, wie etwa in
ausblenden Quelltext
1:
Test.blablabla.dbf					

den letzten Part verschwinden lässt.

Bei einem Dateinamen versagen bisher aber alle Funktionen, inkl. "ChangeFileExt" - wenn der nämlich mit einem Punkt beginnt, so wie die versteckten Systemdateien von Linux. Da liefern alle Funktionen gar nichts zurück :wink: - aber das würde ich nicht als Fehler ansehen, denn solche Dateinamen sind unter Windows ja auch nicht gebräuchlich.
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 19.07.02 08:58 
Ok,danke,werd ich mir merken :-))))))))))))))