Autor |
Beitrag |
Swordooo
      
Beiträge: 119
W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
|
Verfasst: So 27.07.08 18:18
Hi an alle,
Da ich die Skins von den normalen WIN-Button langweilig finde, habe ich mir einen eigenen "Button" (Image) gemacht. OnMouseMove soll die Schrift seine Farbe ändern, weshalb ich einmal eine .jpg Datei mit normal weißer Schrift habe und einmal mit roter Schrift. Ich habe einen Ordner indem alles enthalten ist.
Nun möchte ich hierraus die jpg-Datei mit der roten schrift laden. Jedoch, wenn ich das Programm weiter gebe, liegt das Programm ja wahrscheinlich in einem anderen Pfad.
========>Gibt es etwas, wie die .exe herausfinden kann, wo sie abgespeichert ist:
Bei mir sind die jpg's hier:
C:\Delphi Projekte\SDI SSYC\Data\Skin\button_speichern.jpg (weiß)
C:\Delphi Projekte\SDI SSYC\Data\Skin\button_speichern_move.jpg (rot)
Dieser Teil is eine Variable: C:\Delphi Projekte\
dieser ist logischer weise festgelget: \SDI SSYC\Data\Skinbutton_speichern.jpg (bzw. button_speichern_move.jpg)
Danke schonmal. Swordooo
Moderiert von Narses: Titel geändert.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 27.07.08 18:20
Stichworte: ParamCount, ParamStr und ExtractFilePath bzw. ExtractFileDir. Das einfach nur zusammenbauen. Alternativ Application.Exename verwenden.
_________________ We are, we were and will not be.
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: So 27.07.08 18:27
Pack doch die JPG's in eine Res-Datei. Daraus mit LoadFromRessourceName die JPG laden. Dann gibts keine Probleme mit Pfaden
Delphi-Quelltext 1:
| Formx.imagex.Picture.Bitmap.LoadFromResourceName(hinstance,'Name'); |
_________________ Salus populi suprema lex esto
|
|
Swordooo 
      
Beiträge: 119
W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
|
Verfasst: So 27.07.08 18:31
|
|
Swordooo 
      
Beiträge: 119
W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
|
Verfasst: So 27.07.08 21:48
Zitat: | Pack doch die JPG's in eine Res-Datei. |
Da bin ich gerade bei.
Also ich habe einen gemeinsamen Ordner mit meinem Bild ("button_speichern.bmp"), brcc32.exe und eine RC-Datei:
Quelltext 1:
| data BITMAP "button_speichern.bmp" |
Und nun führe ich die brcc32.exe aus (so wie man es doch soll, oder habe ich was falsch verstanden?). Jeoch kommt ganz kurz die CMD und dann ist sie auch schon wieder weg.
Was kann ich machen. Danke schonmal.
MfG Swordooo
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mo 28.07.08 00:45
HI,
mach ma die CMD über ausführen auf und starte die Exe über CMD. da müsstest du dann auch ne Hilfe haben: brcc32.exe /?
ich mach das immer so: data ornder in den gleich ordner wie die Exe/ das Projekt und dann
Delphi-Quelltext 1:
| FilePath := ExtractFilePath(Application.Exename)+'data\'+Datei-Die-ich-laden-will; |
Mfg Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mo 28.07.08 09:43
Bergmann89 hat folgendes geschrieben: | HI,
mach ma die CMD über ausführen auf und starte die Exe über CMD. da müsstest du dann auch ne Hilfe haben: brcc32.exe /?
ich mach das immer so: data ornder in den gleich ordner wie die Exe/ das Projekt und dann
Delphi-Quelltext 1:
| FilePath := ExtractFilePath(Application.Exename)+'data\'+Datei-Die-ich-laden-will; |
Mfg Bergmann. |
Ja, das geht. Aber Du mußt ständig diese Dateien mitschleppen. Es ist eine unnötige Fehlerquelle.
Swordooo: Nicht vergessen, die Res-Datei in der MainForm einzubinden.
Delphi-Quelltext
In der RC-Datei solltest Du den Pfad\Dateiname nicht in " " setzen!
Gruß delphi10
_________________ Salus populi suprema lex esto
|
|
Swordooo 
      
Beiträge: 119
W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
|
Verfasst: Mo 28.07.08 11:09
Okay...ich werde es gleich nach dem Frühstück ausprobieren
Danke  MfG Swordooo
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 28.07.08 11:13
Wenn du schon die Bilder, rc, und Brcc32.exe in einem Ordner hast reicht es wenn du die rc per drag & drop auf die Brcc32 ziehst.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mo 28.07.08 12:46
Blackheart666 hat folgendes geschrieben: | Wenn du schon die Bilder, rc, und Brcc32.exe in einem Ordner hast reicht es wenn du die rc per drag & drop auf die Brcc32 ziehst. |
Leider sieht er dann keine Fehlermeldungen mehr. Brcc32 ist nun mal eine reine Consolenanwendung.
_________________ Salus populi suprema lex esto
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Mo 28.07.08 17:21
Du findest die Windows Buttons langweilig und nimmst stattdessen ein TImage. Für ein Hobby-Programm mag das okay sein. Falls du das Programm jedoch verkaufen oder veröffentlichen willst solltest du folgendes im Kopf haben:
TImage ist nicht geeignet, denn:
- TImage ist kein TWinControl und kann keinen Fokus kriegen.
- Dein Button ist nicht mit der Tastatur steuerbar und nicht via Tab erreichbar.
- Es kann nicht als Default/Cancel Button definiert werden.
- Informationen sind nicht automatisiert lesbar (siehe "accessible Software"), d.h. z.B. für Blinde nicht bedienbar.
- Dein Programm kann nicht mehr einfach übersetzt werden.
Kurz: Dein Programm verhält sich nicht wie gewohnt und ist somit schwerer zu bedienen. Willst du das wirklich, nur damit die Schrift auf dem Button weiss und rot ist?
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mo 28.07.08 17:59
delfiphan hat folgendes geschrieben: | Du findest die Windows Buttons langweilig und nimmst stattdessen ein TImage. Für ein Hobby-Programm mag das okay sein. Falls du das Programm jedoch verkaufen oder veröffentlichen willst solltest du folgendes im Kopf haben: |
Nimm einfach TBitBtn. Damit kannst mit Farben, Bilder und Texten creativ sein, bis der Arzt kommt.
_________________ Salus populi suprema lex esto
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Mo 28.07.08 18:36
@delphi10: Ja, ich muss die Datein immer mit rum schleppen, aber ich kann ja nich jede Datei aus einer RES laden, oder? bei nem Memo gehts zum beispiel nich!
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Swordooo 
      
Beiträge: 119
W2K, Windows XP Professional
Delphi 2005 Personal, Delphi 7 Personal
|
Verfasst: Mo 28.07.08 19:04
Zitat: | Nimm einfach TBitBtn. Damit kannst mit Farben, Bilder und Texten creativ sein, bis der Arzt kommt. |
Danke für den Tip.
@delfiphan : Ja ich bin ein Hobbyprogger. Aber meine Proj. sollen trotzdem gut sein. Danke für die Tips.
MfG Swordoooo
|
|
delphi10
      
Beiträge: 447
Erhaltene Danke: 2
W2K, XP, Vista64, Win7 64
RAD-Studio 2010
|
Verfasst: Mo 28.07.08 21:13
_________________ Salus populi suprema lex esto
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Di 29.07.08 02:46
OK, danke. das werd ich ma ausprobieren ^^
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|