Autor Beitrag
NeMeZ
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 21:35 
Hallo Leute.... brauche einen Tipp, bin Anfänger, in DX und API null Ahnung, aber Spile knacke ich gern, und schreibe Trainers für mich, mit Grafik und alles drum und dran :). Das Problemm ist- .exe Datei, die kann bis 2-3 MB sein, obwohl ich das hier nutze:

{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_LINE_NUMS_STRIPPED}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

und danach UPX, habt ihr was vielleicht, was exe datei kleiner macht?! :)
spawn89
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 82
Erhaltene Danke: 7

Linux
CodeTyphon
BeitragVerfasst: Fr 01.04.11 21:46 
Viel wichtiger wäre zu wissen, wie du überhaupt auf die 2-3 MB kommst.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 21:47 
Gibt es auch einen Grund dafür, dass die Exe klein sein muss? Das Packen mit UPX oder anderen Packern hat mehr oder weniger gravierende Nachteile, je nachdem was für eine Software man schreibt.

Jedenfalls liest sich das so als hättest du schlicht sehr große Bilder eingebunden. Wenn du die optimierst, sparst du vermutlich auch viel Speicherplatz.

Um welche Delphiversion geht es eigentlich? Im Profil steht Delphi 6, aber der Quelltext sieht eher nach Delphi 2010 oder XE aus. :gruebel:
Dort sind die Programme derzeit leider relativ groß, da helfen auch die Optionen nicht so viel. Eine Option zum Entfernen von mehr RTTI-Informationen usw. wird es wohl in XE 2 oder XE 3 geben.

Wenn du unbedingt sehr kleine Exe-Dateien willst, rate ich eher C# oder Delphi Prism zu nutzen. ;-)
NeMeZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 21:49 
hier ist ein kleiner Muster


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, GIFImg, ExtCtrls, ComCtrls, mmsystem, StdCtrls, Comobj, jpeg;
{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED  or IMAGE_FILE_LINE_NUMS_STRIPPED}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Label1: TLabel;
    Image3: TImage;
    Label2: TLabel;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);

    procedure Label1Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Image3Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
  private
  procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
var
Form1: TForm1;
WindowName:Integer;
implementation
{$R *sound.res}
{$R *.dfm}
procedure Tform1.WMHotKey(var Message: TMessage);
begin
If  WindowName  =  0  then   begin
PlaySound(nil0, SND_PURGE) ;
showmessage('Bitte starten Sie zuerst das Spiel' + #13 + 'bevor Sie den Trainer aktivieren!');

end;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 ReleaseCapture;
  Perform(WM_SYSCOMMAND, $F0120);
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Image3Click(Sender: TObject);
begin

MessageDlg('blabla.' + #13#10 + 'blubblubblub.', mtINFORMATION, [mbok], 0);
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
close
end;

procedure TForm1.Label2Click(Sender: TObject);
begin
 MessageDlg('blabla.' + #13#10 + 'blubblubblub.', mtINFORMATION, [mbok], 0);
end;

procedure TForm1.FormShow(Sender: TObject);
var
bild : TGIFImage;
       ResStream : TResourceStream;
       begin
PlaySound('klip'0, SND_RESOURCE or SND_ASYNC or SND_LOOP);
GIFImageDefaultAnimate := True;
RegisterHotKey(form1.Handle,123,mod_control,vk_f1);
try
     bild := TGIFImage.Create;
     resstream := TResourceStream.Create(hInstance, 'gifimage_1', RT_RCDATA);
     bild.LoadFromStream(ResStream);
     Image1.Picture.Assign(bild);
finally
     bild.free;
     ResStream.free;


 end;
 end;
end.


Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 21:52 
Schau einfach nach wie groß die eingebundenen Bilder sind. Wenn du Delphi 6 nutzt, werden die vermutlich den größten Teil ausmachen.
NeMeZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 21:56 
'jaenicke'

danke für hilfe.... C# habe ich angefangen, aber keine zeit..... Delphi kann ich nicht mal zu ende lernen.... keine zeit . das ganze ist nicht beruflich, sondern hobby... deswegen habe ich die frage gestellt.... hier gibt es auch profi.... paar tipps würde ich gebrauchen.....
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 21:57 
Naja, wie groß sind denn nun die eingebundenen Bilder und Sounds?
NeMeZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 22:06 
'jaenicke'

Das Bild etwa 500kb(gif), Sound etwa 500kb(wav), das macht 1 MB, aber gif und wav kann bis zu 70% 'gedrückt' komprimiert werden..... frage wie?!
es wäre wunderbar wenn das so ausgesehen 'application.ressource.comprimieren' :)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 22:14 
Also die Units führen selbst bei XE zu einer nur etwas über ein 1 MiB großen Anwendung. Dazu noch ein MiB durch die beiden genannten Dateien, da hast du schon etwas mehr als zwei MiB.

Wenn es also so wichtig ist, dass die Datei kleiner wird, dann bleibt dir wohl nichts anderes übrig als ohne VCL-Formulare zu arbeiten, mit der reinen Windows API. Das ist natürlich ein erheblicher Aufwand und alles andere als angenehm, bringt aber auch etwas.

Den Sound, naja, den könntest du als MP3 einbinden oder komprimiert einbinden und zur Laufzeit entpacken.
NeMeZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 22:35 
'jaenicke'

"Den Sound, naja, den könntest du als MP3 einbinden oder komprimiert einbinden und zur Laufzeit entpacken."

seit Tagen hier gesucht mp3 als ressource.... nichts gefunden. wenn du was auf lager hast, sag doch, bitte bitte :)

von der frage oben: ist eigentlich egal ob das 2 oder 10 MB ist.... mit meinem i5 Processor das ist wurst, bloß ... ich bin ein 'Berliner', sorry 'Programierer' :), das ist nicht notwendig, aber für mich wichtig....
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 22:58 
Naja, die MP3-Ressource musst du dann zum Abspielen temporär auspacken.
NeMeZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25

Win7
Delphi10
BeitragVerfasst: Fr 01.04.11 23:25 
'jaenicke'

"Naja, die MP3-Ressource musst du dann zum Abspielen temporär auspacken."


nö, das wird installer, und für Windows kake

jaenicke Danke, wenn du fragen hast bin gerne zu verfügung, bin aber nur zum knacken, spiele meine ich ........
obwohl.......... wenn ich noch schreiben könnte......
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 23:27 
user profile iconNeMeZ hat folgendes geschrieben Zum zitierten Posting springen:
nö, das wird installer, und für Windows kake
Wie meinen? Kannst du vielleicht ganze Sätze formulieren? :roll:
Was hat das jetzt mit einem Installer zu tun?
Don Krawallo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Windows 10 x64
Delphi 10.4.1
BeitragVerfasst: Fr 01.04.11 23:28 
Tagchen zusammen...

Ich hänge mich mal hier mit rein und hoffe mir sei die Frage gestattet... Worin besteht denn da der Unterschied zwichen den herkömmlichen Delphi (z.b. 2010, oder XE) und Delphi Prism? Was ich bisher so mitgekriegt hab ist wohl das man hiermit .Net Anwendungen entwickeln kann?! Seh ich das richtig? Wenn dem so ist wirds wohl sicher auch ne andere Programmiersprache sein, also nicht die Delphi typische Schreibweise.

MFG D.Krawallo
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 01.04.11 23:55 
user profile iconDon Krawallo hat folgendes geschrieben Zum zitierten Posting springen:
Worin besteht denn da der Unterschied zwichen den herkömmlichen Delphi (z.b. 2010, oder XE) und Delphi Prism? Was ich bisher so mitgekriegt hab ist wohl das man hiermit .Net Anwendungen entwickeln kann?! Seh ich das richtig?
Genau, Delphi-ähnliche Syntax, aber für .NET.

user profile iconDon Krawallo hat folgendes geschrieben Zum zitierten Posting springen:
Wenn dem so ist wirds wohl sicher auch ne andere Programmiersprache sein, also nicht die Delphi typische Schreibweise.
Ja, andere Programmiersprache, nein, es ist die typische Schreibweise, wenn auch natürlich etwas anders.
Don Krawallo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Windows 10 x64
Delphi 10.4.1
BeitragVerfasst: Fr 01.04.11 23:57 
Ich danke für die kurze und knappe Aufklärung.

Goodn8
FrEaKY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 235


D7
BeitragVerfasst: Sa 02.04.11 13:07 
user profile iconNeMeZ hat folgendes geschrieben Zum zitierten Posting springen:
'jaenicke'

danke für hilfe.... C# habe ich angefangen, aber keine zeit..... Delphi kann ich nicht mal zu ende lernen.... keine zeit . das ganze ist nicht beruflich, sondern hobby... deswegen habe ich die frage gestellt.... hier gibt es auch profi.... paar tipps würde ich gebrauchen.....

Ich glaube, für sehr viele von den hier angemeldeten Usern ist Delphi ein Hobby. Aber für ein Hobby muss man sich auch Zeit nehmen.
turboPASCAL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP / Vischda
D6 PE / D2005 PE
BeitragVerfasst: Sa 02.04.11 16:37 
Tipp:
Delphi 5, 6 oder 7 in Verbindung mit Suche in: Delphi-Forum NONVCL .

Wenig Graphik und wenn dann Jpegs & Png's sowie mehr "selbstmalen". Keine MP3- oder Wavesounds sondern Suche bei Google CHIPTUNES

Beispiel: Keksgen

_________________
Nein, ich bin nicht der turboPASCAL aus der DP, ich seh nur so aus... :P
Don Krawallo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45

Windows 10 x64
Delphi 10.4.1
BeitragVerfasst: Sa 02.04.11 18:29 
Man muss sich natürlich immer vor Augen halten das es auf die verwendete Programmiersprache ankommt. Man nehme zum Vergleich mal Visual Studio... Mit VB eine einfach Form dazu noch ein Button hat man eine Größe von ca. 100 bis 150 KB. Bei Delphi XE mit den Standard-Einstellungen, ne simple Form + Button, kommt man auf ca. 900 KB.
Da sieht man z.b. schon das es wie gesagt auch stark Programmiersprachenabhänhig ist, wie @jaenicke auch bereits schrieb. Delphi finde ich aber nachwievor faszinierend. Wenn ich auch Anfänger bin... Da lieber nehm ich Delphi anstatt VB, C etc. In Verbindung mit einem gescheiten Packer/Protector scheint mir das immer noch die bessere Lösung. Hab mit Delphi eigentlich nur angefangen um selbst flexibler zu sein was das Trainer coden angeht.
Hab letztens erst ein neues Trainer Design samt *.nfo entworfen. Wen es interessiert... Download gibbet weiter unten.

Zum Thema *.nfo - Sowas z.b. mit Visual Studio zu lösen scheint mehr als schwierig. Visual Studio scheint nur True Type Schriften zu unterstützen. Somit würde die Terminal Schrift schonmal wegfallen. Bleiben also nur noch Courier New und Lucida Console die alle entsprechenden Zeichen unterstützen. Allerdings sieht damit eine *.nfo, programmiert in VB, mehr als schlecht aus.

MFG sILeNt heLLsCrEAm
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 02.04.11 18:36 
Nein ist es nicht. Wenn du bei VB die Runtimes miteinkompilierst, weil sie bei Windows teilweise mitgeliefert werden, wie es bei Delphi der Fall ist, dann hast du auch deine 500KB Exe. Und wenn du bei Delphi die BPLs nicht mit einkompilierts, hast du auch eine kleine Exe, musst aber die BPLs mitliefern.