![]() |
Namen der Ini kleinschreiben
Hallo,
wenn ich mir mit "ChangeFileExt(ParamStr(0), '.ini')" eine Ini erzeuge, dann ist der Name immer gross geschrieben, wie kann man dies ändern? Ohne immer selbst den Namen zu schreiben, es soll also in Form von "ChangeFileExt(ParamStr(0), '.ini')" bleiben. Grüsse, Daniel :hi: |
Moin Daniel,
geht das bei Dir mit der Kleinschreibung, wenn Du die Datei manuell mit "Neu\Textdatei" anlegst? |
Moin Christian,
natürlich. //Oder etwa nicht natürlich? Grüsse, Daniel :hi: //<-- Fragend |
Moin Daniel,
mir ist so in dunkler Erinnerung, ohne Gewähr allerdings, das dieses Verhalten einstellbar ist/war (unter 95???). Deshalb die Frage. Du könntest es ja einfach mal hiermit probieren:
Delphi-Quellcode:
AnsiLowerCase(ChangeFileExt(ParamStr(0), '.ini'));
|
Siehe anderes Forum, versuchs mal mit Application.ExeName und dem ExtractFilePath davon.
|
Moin Christian,
der war gut. Das schreibt schonmal alles klein. Aber auch wirklich alles! Sprich auch den ersten Buchstaben. :shock: :roll: Grüsse, Daniel :hi: |
Die "Mit-Kanone-auf-Spatzen-schieß-Methode" ginge mit FindFirst. Das gibt die genaue Schreibweise zurück!
|
Moin Daniel,
dann eben so:
Delphi-Quellcode:
:mrgreen:
AnsiUpperCase(paramstr(0)[1])+AnsiLowerCase(copy(ChangeFileExt(paramstr(0),'.ini'),2,length(paramstr(0))));
|
Zitat:
Meinst Du nciht das es jetzt langsam uferlos wird. Nur um den Blöden Namen zu schreiben? ;) Vielleicht sollte ich mir noch bei Win2k Rechte holen und dies über die Registry machen. :mrgreen: Nee, Spass beiseite. Das würde jetzt dann doch zu weit gehen. Es muss auch so gehen.
Delphi-Quellcode:
So lang ist die Zeile schon. Wie lang soll die denn noch werden?
ini := TIniFile.Create(AnsiLowerCase(ChangeFileExt(ParamStr(0), '.ini')));
Grüsse, Daniel :hi: |
Moin Daniel,
Dein ursprünglicher Wunsch war es den Dateiname in Kleinbuchstaben zu bekommen, das ginge mit der einmaligen Umwandlung. Wenn Du jetzt den Anfang gross und den Rest klein haben willst, dann muss die Zeile eben so lang werden wie erforderlich ;-) |
Moin Christian,
Zitat:
Der war gut. Würde aber gehen denk ich. ;) Grüsse, Daniel :hi: |
Hallo Christian,
Zitat:
Grüsse, Daniel :hi: |
Kuck dir die Ausgabe davon mal ganz genau an. Nicht der erste Buchstabe des Dateinamens wird groß geschrieben sondern der Laufwerksbuchstabe.
|
So sollte es gehen:
Delphi-Quellcode:
ExtractFileDir(paramstr(0))+
'\'+ AnsiUpperCase(ExtractFileName(paramstr(0))[1])+ AnsiLowerCase(copy(ChangeFileExt(ExtractFileName(paramstr(0)),'.ini'),2,length(ExtractFileName(paramstr(0))))); |
Moin janjan,
da hast Du auch wieder recht :oops: :mrgreen: Allerdings: Es genügt als Längenangabe beim Copy length(paramstr(0)), da copy automatisch aufhört, sobald die maximal mögliche Länge erreicht ist. Wenn Du dann noch statt ExtractFileDir ExtractFilePath verwendest sparst Du Dir noch ein +'\'. ;-)
Delphi-Quellcode:
ExtractFilePath(paramstr(0))+
AnsiUpperCase(ExtractFileName(paramstr(0))[1])+ AnsiLowerCase(copy(ChangeFileExt(ExtractFileName(paramstr(0)),'.ini'),2,length(paramstr(0)))); |
Moin Christian,
Zitat:
Aber es klappt wunderbar. Danke Dir! Grüsse, Daniel :hi: |
Moin Daniel,
also der Dank gebührt aber janjan. Ich hab' nur seinen Source etwas umgebaut. |
Stimmt ja. :oops:
Natürlich auch janjan vielen Dank. Sorry. Allerdings muss ich noch was loswerden. Hoffentlich versohlt mir jetzt niemand den Popo, aber ich spiele ernsthaft mit dem Gedanken, einfach den Namen selbst zu schrieben und gut ist, dann ist der Befehl auch nicht drei Zeilen lang. :) Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz