| Autor |
Beitrag |
rockzOr
      
Beiträge: 44
|
Verfasst: Mi 16.08.06 07:44
Hoi,
ich hab mich mal nach langer Pause wieder an Delphi gesetzt und stehe mal wieder vor einem Problem. Ich habe ein Label in dem sich ein Pfad befindet (Pfad des Programms + Ordner + Dateiname). Dieser wird aus einer filelistbox ausgelesen. Ich möchte jetzt aber nur den String des Dateinamens ohne die Endung daraus haben. Wie kann ich sowas machen? Ich weiss irgendwie nichtmal wo ich anfangen soll. Ich brauche diesen String um ihn danach in eine Ini Datei zu schreiben.
Und ich hab da noch ein kleines(?) Problem: Ich habe mir ein Config System ausgedacht in dem es versch. Styles gibt. Dort soll natürlich auch die Farbe der Formen geändert werden.
Wenn ich allerdings sage, dass die Farbe von Form2 jetzt der Wert aus der Datei sein soll, produziert es einen Fehler, weil ein TColor Wert kein String sein kann -.-
Wie kann ich dem einen Wert zuweisen der irgendwo steht und den ich nicht fest eintrage im Code?
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mi 16.08.06 07:54
|
|
rockzOr 
      
Beiträge: 44
|
Verfasst: Mi 16.08.06 09:53
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mi 16.08.06 13:18
Hi,
markiere den Text "ExtractFileName" im Quellcode und drücke F1
dann solltest Du auch wissen was diese Funktion bewirkt.
Außerdem solltest Du die Farben nicht mit WriteString abspeichern
sondern mit WriteInteger dann hast Du auch keine Probleme beim umwandeln.
|
|
oldmax
      
Beiträge: 380
D3 Prof, D4 Prof
|
Verfasst: Mi 16.08.06 13:34
Titel: Variable wandeln
Hi
Wundert euch nicht, wenn IntToStr(IntZahl) keine Zahl ergibt. Ich hab das jetzt schon ein paarmal gelesen und möchte da mal drauf aufmerksam machen
Es gibt eine Hilfe, die man benutzen kann und die wird vermutlich sagen, das diese Funktion Eine Integerzahl in einen String wandelt. Die Andere Funktion StrToInt('3') wandelt einen String in eine Zahl.
ClRed und Co sind vordefinierte Konstanten in der Unit Graphics vom Typ TColor und letztlich vom Typ DWord, eine "Fast"-Integer, nur das diese Konstanten nicht negativ werden können.
Also, nehmt die richtige Reihenfolge und einiges wird möglicherweise funktionieren.
Gruß oldmax
_________________ Zier dich nich so, ich krieg dich schon....
|
|
_frank_
      
Beiträge: 343
Erhaltene Danke: 1
Win XP
Delphi 3 Prof / Turbo Delphi Explorer
|
Verfasst: Mi 16.08.06 14:10
du kannst IdentToColor nutzen, um die Konstantennamen zu konvertieren
HTH Frank
_________________ EB FE (die wahrscheinlich kürzeste Endlosschleife der Welt  )
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Mi 16.08.06 15:10
Warum konvertieren?
WriteInteger un ReadInteger benutzen
dann funktioniert doch alles wunderbar!
|
|
_frank_
      
Beiträge: 343
Erhaltene Danke: 1
Win XP
Delphi 3 Prof / Turbo Delphi Explorer
|
Verfasst: Mi 16.08.06 16:41
aber wenn er clIrgendwas in der ini stehen haben will...
ich selber brauchs auch nicht...war nur als ergänzung gemeint
man kanns auch als hex-speichern, da ist der Farbwert leichter nachvollziehbar
Gruß Frank
_________________ EB FE (die wahrscheinlich kürzeste Endlosschleife der Welt  )
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3
|
|
rockzOr 
      
Beiträge: 44
|
Verfasst: Mi 16.08.06 19:34
_frank_ hat folgendes geschrieben: | aber wenn er clIrgendwas in der ini stehen haben will...
ich selber brauchs auch nicht...war nur als ergänzung gemeint
man kanns auch als hex-speichern, da ist der Farbwert leichter nachvollziehbar
Gruß Frank |
nicht wollen, ich wusste nur net dass es anders geht, schlichtweg dummheit
ich werds wenn ich zu hause bin mal ausprobieren, thx schonmal fuer die antworten, mal schaun obs klappt.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 16.08.06 20:02
Wie wärs mit StringToColor und ColorToString?
Diese dann in Verbindung mit ReadString bzw. WriteString, sollte das gewünschte Ergebnis liefern.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
rockzOr 
      
Beiträge: 44
|
Verfasst: Mi 16.08.06 23:16
ok also ich hab das problem mit den farben hinbekommen
Beispiel:
Delphi-Quelltext 1:
| form2.GroupBox1.Color := stringtocolor(ini.readstring('Colors','Style','')); |
funzt perfekt
aber das mit dem auslesen des dateinamens bekomm ich nicht hin.
ich möchte auch nicht den gesamten dateinamen, sondern nur den teil der zwischen \ und .endung steht.
also beispiel:
C:\Programme\Beispiel\Datei.abc
daraus möchte ich nur den String "Datei" haben. Irgendwie bekomm ich das nicht hin...
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Mi 16.08.06 23:25
Hallo,
ChangeFileExt kann die Dateiendung durch einen Leerstring ersetzt werden:
Delphi-Quelltext 1:
| showmessage(ChangeFileExt(ExtractFileName('C:\Programme\Beispiel\Datei.abc'),'')); |
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 17.08.06 07:31
Wo liegt den das Problem
Delphi-Quelltext 1:
| Dateiname := ExtractFileName('c:\windows\system32\winlogon.exe'); |
ergibt "winlogon.exe"
es geht nicht einfacher
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Do 17.08.06 08:12
Hallo,
@ uwewo:
rockzOr möchte nicht den gesamten Dateinamen, sondern nur den Teil der zwischen \ und .endung steht.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
rockzOr 
      
Beiträge: 44
|
Verfasst: Do 17.08.06 08:23
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 17.08.06 08:26
Ok, Sorry
wohl zu schnell gelesen 
|
|
rockzOr 
      
Beiträge: 44
|
Verfasst: Do 17.08.06 08:43
macht nichts, trotzdem danke für deine hilfe 
|
|