Hogyan csökkentse a delphi 20-szal írt alkalmazást - szoftver termékek
Az "üres" formanyomtatvány körülbelül 355 kB-t tesznek ki, és ez a kezdeti méret a Delphi új verziójával megnő. A KOL könyvtárral írt "üres" program, amely csökkenti a végrehajtható fájl méretét, 32 KB. A "tiszta" konzol alkalmazás mérete 8 KB, mivel ez folyamatként jelenik meg, és ennek megfelelően nincs összetett kapcsolata a Windows-ablakokkal. Ez azt jelenti, hogy a Ctrl + Alt + Del nem jeleníti meg a konzolt :).
Tehát a Delphi menüben válassza a Fájl> Új> Egyéb elemet, és a megjelenő ablakban többek között megtalálja a Konzolalkalmazás elemet. A következő munkadarab jelenik meg:
program Project1; // a projekt neve
// irányelv, amely jelzi a konzol jelenlétét
a SysUtils-ot használja; // csatlakoztatott modulok
És egy másik lehetőség:
Label MyLabel; // "címke"
kezdődik
míg az igaz nem kezdődik
Writeeln ('Adja meg a nevét' + # 10);
Readln (S);
Writeln (# 10 + 'A neve' + S);
végén;
végén.
Itt a "10" a bekezdés vége, a kurzor a következő sorra ugrik (Enter billentyű). És itt van egy példa, ahol a program a felhasználó parancsánál bezárul:
var s: String;
kezdődik
míg az igaz nem kezdődik
Readln (S); // milyen felhasználó lépett be?
// a felhasználó beírhatja a parancsot és a nagybetűket,
// és kisbetű. Betűk nagybetűkké alakítása
// a UpperCase parancs.
Ha a UpperCase (ok) = 'EXIT' megkezdődik
// kérdezz újra
Writeln ('Tényleg el akarsz lépni? [Y / n]');
// olvasd el a felhasználó válaszát
Readln (s);
ha UpperCase (s) = 'Y', akkor kilép; // kilépés
végén;
végén;
végén.
Itt van. Itt beilleszthet bármilyen kódot, csak szükség esetén csatlakoztathatja a szükséges modulokat. Most pedig fordítsd újra a projektet, és kattints a Project> Információk a "ProjectName" -re. Az EXE mérete körülbelül 40 kilobyte, de csak azért, mert a SysUtils.pas modul az Utak részlegben annyira súlyos. És ha kicseréli ezt a modult a Windows.pas programmal, akkor a program elfoglalja, ahogy ígértem, :) :) kilo a kemény :).
Természetesen, feltéve, hogy csak a Windows modulot fogja használni, amely a mindennapi életben szükséges parancsok többségét tartalmazza. Ha nem fogsz konzol tárgyalásokat folytatni a felhasználóval és használja a WriteLn és a ReadLn eljárást, akkor a konzolra nincs szükség. Távolítsa el az irányelvet, hogy a fekete MS-DOS ablak ne jelenjen meg.
De ha ez az ablak nagyon szükséges az Ön számára, és párbeszédet folytat a felhasználóval, ne próbálja meg megadni az orosz betűket a WriteLn parancsban: a konzol más kódolást fog megjeleníteni. Ennek kijavításához írja be az eredeti (orosz) szöveget a Jegyzettömbben, és tegye be a Terminál betűtípust. Az eredmény a DOS-kódolásban lesz, mivel ezt a WriteLn eljárásban kell megadni.
Tisztítsa meg a konzolt a szövegből az alábbiak szerint:
program Project1;
var
puffer: TConsoleScreenBufferInfo; // puffer
i: egész szám;
kezdődik
WriteLn ('Nyomja meg a képernyő törléséhez');
ReadLn;
GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), puffer);
i: = 0-hoz buffer.dwSize.y do writeln;
Writeln ('A képernyő törlődik :)');
readln;
végén.
Ez minden. Hogyan készítsünk valami komolyabbat, mint a "Hello World" típusú programot, amit a programozók áradatba bocsátunk, a következő sorozatban elmondjuk.