Megfontoljuk létrehozása.exe py2exe modulkönyvtár használatával. Ehhez Python 3.4 és lent.
Ha a Python magasabb verziója van telepítve, próbálkozzon a (lent)
Ebben a példában egy .exe fájl létrehozását nézzük meg egy példával Python 3.4.
Először is létre kell hoznia egy virtuális környezetet Python3.4. Ebben a példában myenv nevet fogunk adni, bármilyen más nevet választhat, de ne felejtse el elvégezni a megfelelő módosításokat.
Írja be a következő parancsokat a terminálba:
>py -3.4 -m venv myenv > myenv\Scripts\activate.bat
BAN BEN parancs sor előtag jelenik meg myenv, ami azt jelenti, hogy a myenv nevű virtuális környezet betöltődik. Minden csapat Piton mostantól az új virtuális környezetet fogja használni.
Most telepítsük py2exe(https://pypi.python.org/pypi/py2exe~~HEAD=dobj) virtuális környezetünkben:
>pip install py2exeVégül pedig egyetlen EXE fájl létrehozásához a virtuális környezetünkben végrehajtjuk a következő parancsot:
>python -m py2exe.build_exe hello.py -c --bundle-files 0
(csere hello.py a forgatókönyv nevére. Ha a szkript egy másik mappában található, akkor a szkript teljes elérési útját kell használnia, például: C:\Projects\Python\hello.py). Ez létrehoz egy DIST mappát, amely tartalmazza a végrehajtható fájlt. Mert gyors hozzáférésírja be a terminálba:
> felfedező ker
Látni fogja annak a mappának az elérési útját, ahol az EXE fájl található.
Jegyzet: Végrehajtáskor egy ablak megnyílik, és olyan gyorsan eltűnik, ahogy megjelent.
Ez azért történik, mert operációs rendszer automatikusan bezárja a terminált, amelyben konzol program befejezett.
A helyzet megváltoztatásához hozzáadhatja a sort
a fájl végén Piton. A tolmács vár a felhasználói bevitelre, és az ablak nyitva marad, amíg a felhasználó meg nem nyomja az Enter billentyűt.
Részletesen tanulmányozhatja a felhasználást py2exe a modul oldalán található dokumentációban: https://pypi.python.org/pypi/py2exe
A virtuális környezetből való kilépés a paranccsal történik
> kikapcsolni
Parancson keresztül Windows vonal pyinstaller telepítése:
>pip install pyinstaller
A parancssorban lépjen arra a mappára, ahol a fájl található
CDC:\...
Ezután a parancssorba írjuk be a parancsot
Pyinstaller --onefile example.py
Ahelyett example.py használja annak a fájlnak a nevét, amelyből exe fájlt szeretne létrehozni.
Pár perc alatt minden készen áll! Valószínűleg az exe fájl a létrehozott almappában található ker
Tartalom1. Hogyan fordítsunk EXE-t
1.1. Összeállítási technológia
Felirat:
– Ó, igen, Puskin, igen…
A. S. Puskin
Az EXE fordítási technológiája a Visual FoxPro programban meglehetősen egyszerű. Nem vonják el figyelmünket az olyan szélsőséges módszerek, mint például a parancsok beírása a parancsablakba PROJEKT ÉPÍTÉSE, ALKALMAZÁS ÉPÍTÉSE, EXE ÉPÍTÉSE
, de korlátozzuk magunkat a VFP grafikus felület nyújtotta kényelemre.
Tehát egy EXE létrehozásához meg kell nyomnunk a gombot a projektmenedzserben "ÉPÍT...". Válassza ki a lehetőséget a megnyíló párbeszédpanelen Win32 futtatható / COM szerver (EXE)
megnyomjuk rendben. MINDEN. ;-)
"Hogy van mindenki?" - kérdezed - "És adja meg, milyen néven mentse a fájlt?"
Egyetértek... Meg kell határozni, különben minden a lefolyóban van.
Egyébként szerintem hasznos lenne emlékeztetni arra, hogy a fordítási folyamat sikeressége érdekében a projektmenedzsert fel kell tölteni a programfájlokkal, amelyek közül az egyiknek főként kell lennie (a projektmenedzserben a ennek a fájlnak a neve félkövér), azaz . először végrehajtandó fájl. Alapértelmezés szerint a projektben szereplő első programfájl (*.prg) vagy űrlapfájl (*.scx) van beállítva főprogramként.
Általában minden nagyon egyszerű! Éppen..?
Most a szomorúságról...
1.2 Kapcsolódó fájlok
Felirat:
"... és bekapcsolod - nem megy!"
M. Zhvanetsky
Az alkalmazás-összeállítási szakasz minden fordulata már véget ért, Ön pedig büszke arra, hogy tudatában van saját felsőbbrendűségének az egyszerű halandók felett, ugrásszerűen az ügyfélhez rohan, telepíti az alkalmazását, ezzel egyidejűleg leírva neki (az ügyfélnek) milyen menő lesz most minden, és fejben számolgatva, hogy melyik csavarral kell megvenni azt, ami sörre maradna, hirtelen arra bukkansz, hogy a szuper-duper programod nem csinál felhajtást. Szomorú. Szégyen. És ami a legfontosabb, nem lesz új winchestered, vagy amit ott terveztél vásárolni magadnak térítés ellenében...
Az a helyzet, hogy az általunk lefordított .exe nem egy önellátó futtatható fájl. A pszeudo-futtatható fájl megfelelő működéséhez támogatási könyvtárakra (.dll) van szüksége. Nem megyek bele sok vitába ezzel kapcsolatban, egyszerűen megadom az alkalmazás normál működéséhez szükséges fájlok nevét.
Elvileg a 6-os verzióig használhatja a szabványt Beállítási varázslót, aki mindent egyedül ír elő, és a későbbiekben - InstallShield(vagy más telepítő).
Az összes alábbi fájl a minimálisan szükséges fájlkészlet különféle változatok VFP (a szerint):
VFP 8.0 MSVCR70.DLL, VFP8R.DLL, VFP8RRUS.DLL, GDIPLUS.DLL VFP 7.0 MSVCR70.DLL, VFP7R.DLL, VFP7RRUS.DLL VFP 6.0 VFP6R.DLL, VFP6RENU.DLL, VFP6RUS.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL, VFP.DLL. VFPODBC .dll, vfp500.dll, vfp5rus.dll, Foxpro.int
A fenti könyvtárkészletet a programkönyvtárban vagy a Windows rendszerkönyvtárában kell elhelyezni. Különféle Windows verziók ezek a könyvtárak különböznek:
Win9x, WinMe c:\Windows\SYSTEM WinNT,Win2000,WinXP c:\Windows\SYSTEM32
2. Mit kell tartalmaznia az EXE-ben
Felirat:
– Belevenni vagy nem belevenni?
részeg villanyszerelő
Az alábbiak mindegyike a szerző személyes véleménye, amelyet figyelmen kívül hagyhat. De amikor a saját módján csinálja, ne feledje: a fejét egy betonfalba verni sokkal fájdalmasabb, mint kihasználni az előtte elkövetett áttörést.
Alapértelmezés szerint a kész .exe tartalmazza az alkalmazás működéséhez szükséges összes fájlt - programokat, űrlapokat, menüket, könyvtárakat, osztályokat stb. kivéve az adatbázisfájlokat és a táblákat (az ilyen fájlokat a projektmenedzserben a fájlnév melletti áthúzott körről lehet felismerni). Az .exe-ben található összes fájl nem módosítható (csak olvasható) lesz a fordítás után. Nyilvánvaló, hogy a táblafájlokat (*.dbf) nem szabad beletenni, mert állandó adatmódosítási és -kiadási műveleteknek vannak kitéve, de néha előfordul, hogy el kell rejteni néhány statikus adatot a felhasználó elől, de hozzáférést kell biztosítani hozzájuk maga a program által. Nincs jobb hely, mint egy exe fájl "belseje".
Az is elég gyakori, amikor „meg kell találni”, vagy ideiglenesen módosítani kell a jelentésfájlt, vagy ha egy sor jelentésünk van, amelyek minden felhasználó számára egyediek. Nos, tényleg képzeld el: tíz operátor és tíz jelentés, és mindez *.exe-ben. az egyetlen kiút ebben a helyzetben, ha kizárja ezeket a jelentéseket a végleges fájlból, és elküldi őket az alkalmazással.
Mindenesetre Ön dönti el, hogy mely fájlokat zárja ki és melyiket hagyja meg.
Minden, vége a sörnek, mennünk kell a delibe.
Üdvözlettel: Vladislav Kulak
Tartalom:
Ebből a cikkből megtudhatja, hogyan hozhat létre egyszerű EXE fájlt Windows rendszerű számítógépen, valamint hogyan hozhat létre egy exe-tárolót, amellyel futtatható a futtatható fájl egy másik számítógépen. Az EXE fájlokat programok telepítésére vagy fájlok hozzáadására használják a számítógéphez Windows vezérlés. EXE fájl létrehozásához az IExpress rendszersegédprogramot kell használnia.
Bizonyára sokan találkoztatok életükben legalább egyszer egy .exe kiterjesztésű archívummal, amely nem rar vagy nem zip, hanem exe. Ennek az archívumnak az a szépsége, hogy önkicsomagoló, és nem igényel további programok telepítését. Sokan azt gondolják, hogy egy ilyen archívum létrehozásához speciális ismeretekre vagy programokra van szükség, de biztosíthatom Önöket, hogy ez nem így van. Az EXE archívumok a legnépszerűbb archiválók egyikével jönnek létre: WinRar és WinZip.
Valószínűleg e két archiváló egyike van telepítve a számítógépére, így azonnal nyugodtan elkezdheti a gyakorlást. Ha egyáltalán nincs archiváló, akkor nyugodtan telepítheti a 7-zip-et, mert ingyenes és szabadon terjeszthető az interneten. Ezzel az archiválóval kezdjük.
Így előkészítünk egy mappát az archiválandó fájlokkal, és rákattintunk Jobb klikk egerek. Olyan elem keresése, mint a 7-Zip
Megjelenik egy másik almenünk, amelyből ki kell választanunk a tételt "Hozzáadás az archívumhoz..."
Megnyílik velünk egy ablak, az opciók menüpontban az "Opciók" részt keressük "SFX archívum létrehozása" madarat állítunk elé. Most a legfelső mezőre figyelünk, ahol leendő archívumunk neve. Hozzáadtuk az .exe kiterjesztést. Az archívum neve egyébként megváltoztatható. Megadhatja azt a helyet is, ahová menteni szeretné. Elvileg lehet játszani a többi lehetőséggel, de ezek nem befolyásolják az archívum típusát. Beállíthatja a maximális tömörítési szintet, hogy az archívum mérete a lehető legkisebb legyen.
Most rákattinthat az "OK" gombra.
Ez a fájl az asztalomon:
Most nézzük meg, hogyan hozhat létre pontosan ugyanazt az archívumot, de a WinRar segítségével.
Ugyanígy kattintson a jobb gombbal a mappára, és válassza ki az elemet "Hozzáadás az archívumhoz":
A megnyíló ablakban az "Általános" lapon a szakaszban van szüksége "Biztonsági mentési lehetőségek" tegyen egy madarat a tárgy elé "SFX archívum létrehozása". Bármilyen tömörítési módszert alkalmazunk. Jót választottam.
Kattintson az "OK" gombra.
Ez az eredményül kapott archívum:
Itt több módszert is megvizsgáltunk hogyan lehet önkicsomagoló exe archívumot létrehozni.
És nézzen meg egy videót is a témában:
Értékeld a cikket:
homelisp(legalábbis a javasolt verzióban) nem képes a Lisp kódot mikroprocesszor utasításokká fordítani. Ezért az önálló végrehajtható fájlok létrehozásához olyan technológiát használnak, amely feltételesen meghívható pszeudo-exe.
Ennek a technológiának a lényege a következő.
Szállításban homelisp tartalmaz egy végrehajtható csonkot, amely tartalmazza a kernelt homelisp. Ennek a fájlnak a mérete körülbelül kétszáz kilobájt. EXE fájl létrehozásakor először a csonkfájl másolata készül a fejlesztő által megadott néven. Minden további manipulációt a létrehozott másolattal hajtunk végre, amelyet tovább fogunk hívni cél fájlt.
Tegyük fel, hogy egy fejlesztő írt és töltött fel olyan funkciókat, amelyek együttesen alkotják Alkalmazás. EXE fájl létrehozásakor a fejlesztő által kiválasztott összes funkció a célfájl "farkába" kerül. Ezen funkciók mellett a célfájl "farka" ún. indítsa el az S-kifejezést, valamint a felhasználó által meghatározott környezeti beállításokat homelisp(belső veremek mérete, dinamikus objektumok száma stb.)
A célfájl elindításakor a vezérlést először a kernel inicializáló programja kapja meg homelisp, amely ezután beolvassa az összes felhasználó által mentett függvényt a fájlból, és betölti azokat a Lisp környezetbe. Ezt követően a vezérlés megkapja a blokkot S-kifejezés indítása, és elindul a fejlesztő által biztosított program végrehajtása.
Tekintsük az EXE fájl létrehozásának folyamatát egy egyszerű gyakorlati példa segítségével: létrehozunk egy párbeszédablakot, amely kiszámítja legnagyobb közös osztó két egész szám az Euklidész algoritmus segítségével. Ez a példa nem is olyan haszontalan: mivel homelisp korlátlan bitességű egész számokkal működik, hasonló példa írása bármilyen általános programozási környezetben (VB, C ++, Delphi) észrevehető erőfeszítést igényelne ...
Funkció *GCD a következő formája van:
(defun *gcd (x y) (cond ((eq x y) x) ((nagyobb y x) (*gcd y x)) ((eq (maradvány x y) 0) y) (T (*gcd y (maradvány x y)))) )) ==> *gcd (*gcd 655 72) ==> 1 (*gcd 655 75) ==> 5 (*gcd 65536 4096) ==> 4096 |
Kérelem (függvényen keresztül KÉRDEZ) az első operandus;
A második operandus kérése;
Az eredmény kiszámítása;
Az eredmény megjelenítése függvénnyel MOND ;
Írjunk egy definiáló kifejezést a függvényre GCD-1, amely megvalósítja a fenti algoritmust:
(defun GCD-1 nil (prog (a1 a2) (setq a1 (str2fix (Kérd: "Írja be az első operandust"))) (setq a2 (str2fix (Kérd: "Írja be a második operandust"))) (TRY (mondja (fix2str (* gcd a1 a2))) KIVÉVE (mondja: "Hiba!")))) |
Továbbá, mivel a végfelhasználónak szánt interaktív program készül, erről gondoskodni kell lehetséges hibákat. Ezért történik a legnagyobb közös osztó kiszámítása kritikus kódrészlet függvényhívással PRÓBÁLD KI Ha a számítás sikertelen, a program nem "lefagy", hanem az "Error!" üzenet jelenik meg.
Ha végrehajtja a funkciót GCD-1 a fejlesztői környezetből, akkor először az első operandus lekérdezési ablaka jelenik meg:
Most építsünk a hibakereső függvény alapján GCD-1 végrehajtható. Ehhez a fejlesztői környezetben válassza ki a főmenüpontot EXE fájl vagy kattintson a gombra az eszköztáron a következő ikonnal:
Állítsa be az EXE fájl nevét. A jövőbeni EXE fájl neve (és elérési útja) az EXE fájl létrehozási űrlap bal felső sarkában található kombinált beviteli mezőben van megadva. A név és az elérési út manuálisan beállítható, vagy kattintson a "..." gombra, és válassza ki a könyvtárat és a nevet a szabványos párbeszédpanelen Mentés másként. A fájl alapértelmezés szerint jön létre. noname.exe az aktuális könyvtárban.
A beviteli területen "S-kifejezés indítása" meg kell adnia azt a kódot, amelytől a jövőbeni alkalmazás végrehajtása megkezdődik. A kezdő S-kifejezés lehet függvényhívás. Ha több hívásból álló kezdő S-kifejezést szeretne megadni, akkor ezeket a hívásokat "be kell zárni" PROG- tervezés.
A fenti lépések a minimálisak. Ezenkívül a felhasználó a következőket teheti meg:
A „Funkciók, állandók, változók” című listában törölje az alkalmazás futtatásához nem szükséges objektumok jelölőnégyzetét. Ez az esemény kissé megnöveli az alkalmazás végrehajtásának sebességét;
Módosítsa a beállítások értékeit a jobb felső sarokban található listában. A paraméterértékek cseréjekor végrehajtandó műveletek sorrendjét az alábbiakban ismertetjük;
Törölje a jelet a „Diszpécserűrlap megjelenítése indításkor” jelölőnégyzetből. Ha ez a jelölőnégyzet be van jelölve, akkor az alkalmazás indításakor egy speciális irányítóterem forma. Ez az űrlap címet adhat (a megfelelő beviteli mezőben). A feladási űrlap használata hasznos a hibakeresés során.
Jelölje be az „Értesítést kérek, ha elkészült” jelölőnégyzetet, vagy törölje a jelölést. Ha ez a négyzet be van jelölve, egy üzenet jelenik meg, mielőtt az alkalmazás leáll.
A minimálisan szükséges paraméterkészlettel rendelkező EXE fájl létrehozására szolgáló ablak így nézhet ki:
Ezután rá kell kattintania a zöld pipával ellátott gombra. Ha a megrendelt EXE fájl már létezik, homelisp A rendszer kéri, hogy erősítse meg a fájl felülírását, vagy állítson be új nevet. Ezt követően, at sikeres teljesítés, a következő üzenet jelenik meg:
Győződjön meg arról, hogy egy EXE fájl megjelent az aktuális könyvtárban gcd-1.exe, amelynek elején megjelenik a leírt párbeszéd a felhasználóval.
Ha egy EXE fájl létrehozásakor jelölje be a "Dispécser űrlap megjelenítése indításkor" négyzetet, és állítsa be az űrlap címét:
Ezután az eredményül kapott EXE fájl végrehajtásakor a képernyő jobb felső sarkában megjelenik a következő űrlap diszpécserűrlapja:
Amikor kiválasztja a Start menüelemet (vagy megnyomja a megfelelő gombot lent), az alkalmazás elindul. Az alkalmazás leállása után a diszpécser űrlap a képernyőn marad, lehetővé téve az alkalmazás többszöri elindítását. A jelentkezés befejezéséhez válassza a "Kilépés" menüpontot (vagy nyomja meg az alábbi gombot).
Ha hiba történik az alkalmazás végrehajtása során a diszpécserűrlappal, akkor a hibára vonatkozó információ megjelenik a kimeneti területen, amely általában rejtve van. Például, ha a kezdő S-kifejezést egy nem létező függvény hívásává teszi (ismeretlen), majd a végrehajtás után a következő kép jelenik meg:
A diszpécser űrlap használata lehetővé teszi az alkalmazás végrehajtásának erőszakos leállítását. Ehhez használja a "Stop" menüpontot és az alatta található gombot (a menüpont és a gomb is csak az alkalmazás futása közben aktív). Ha például egy kellően nagy szám faktoriálisának kiszámítását állítja be kezdő kifejezésnek, akkor megjelenik a menüpont és a stop gomb:
Ha végrehajtás közben megnyomja a "Stop" gombot, a program végrehajtása megszakad:
A feladási űrlap "Windows" főmenüpontja (és a hozzá tartozó parancsgomb) akkor lesz aktív, ha az alkalmazás végrehajtása során legalább egy grafikus ablak létrejön. Ha kiválasztja a "Windows" lehetőséget (vagy kattintson az alábbi gombra), a grafikus ablakkezelő meghívódik.
Az EXE fájlok diszpécserűrlappal történő létrehozásának módja az alkalmazások hibakeresésének megkönnyítésére szolgál. Ha nem használja a diszpécser űrlapot, akkor a fejlesztőnek magának kell kezelnie a grafikus ablakokat, és abban az esetben, ha egy alkalmazás "lelóg" az eltávolításához, akkor az operációs rendszer feladatkezelőjét kell használnia.
Ha módosítani kell valamelyik beállítási paraméter értékét (verem mérete, tokenek száma stb.), akkor a "Paraméterek" listában a kívánt sorra kell kattintani. A megfelelő paraméter számértéke átkerül a lista alatti beviteli területre:
Mint második példa EXE fájl létrehozására, fontolja meg az előző problémát (számítása GCD), de ablakos grafikus felhasználói felülettel. Ehhez létrehozunk egy párbeszédablakot (a leírtak szerint), aminek az űrlapjára három címkét, három beviteli mezőt és két gombot helyezünk el. Az egyik gombhoz rendeljünk egy kezelő eljárást, amelyben az első és a második beviteli mezőbe beírt számok GCD-jét kiszámítjuk és az eredmény mezőbe beírjuk a számított GCD-t. A második gombnyomáskezelő bezárja és megsemmisíti a párbeszédablakot. A vezérlőket tartalmazó párbeszédablak a következőképpen nézhet ki:
A tervező által generált kód így nézhet ki:
(prog nil (dlgCreate "_Dlg_ 419 233 "Legnagyobb közös osztó:") (dlgAddControl "_Dlg_ "_LBL_1 _LABEL 14 15 100 21 "("Tahoma" 14.25 1 0 0 0)0000001000 F) ( dlgAddControl" _Dlg_ " _TXT_1 _TEXT 155 13 248 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 526"1 ("Tahoma" 14 1 0 0) 1 ("Tahoma" 14 1 0 0) 1. "Második: " 0 & H80000012 & H8000000F ) (dlgAddControl "_Dlg_ "_TXT_2 _TEXT 156 56 247 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_DlgAddControl "_Dlg_ _ _2 LAB17 "BL_3_ _2 LAB17 homa" 14, 25 1 0 0) "Н.О.Д." 0 &HFF &H8000000F) (dlgAddControl "_Dlg_ "_TXT_3 _TEXT 157 98 247 31 "("Tahoma" 14 1 0 0) "" 0 &HFF &HFF &HFF &HFF &H80000FUTD_Control UTTON 24 148 180 50 "(" Tahoma "8.25 1 0 0)" Compute ") (dlgputpicture" _but_1 7) (DlgaddControl "_DLG_" _BUT_2 _BUTTON 213 149 180 50 "(" Tahoma "8.25 1 0 0)" CSAK ") (Dlgputpicture") (Dlgputpicture ") _BUT_2 36) // // KATTINTÁS A _BUT_2 gomb eseménykezelőjére // (defun _BUT_2_Click Nil (prog Nil (dlgHide "_DLG_)) (dlgDestroy "_DLG_) (gc))) // // Az eljárás célja -_events_2_CCBUT__2_CBlick // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // CLICK eseménykezelő a _BUT_1 gombhoz // (defun _BUT_1_Click Nil (prog (a1 a2)) (setq a1 (str2fix (dlgGetText "_TXT_1))) (etexText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2))) EXCEPT (dlgPutText "_TXT_3 "Hiba!!!")))) // // A _BUT_1_Click eseményeljárásvezérlő _BUT_1 célállomása // (dlgSetEvent "_BUT_1 "_BUT_1_Click) // // Párbeszédpanel megjelenítése _Dlg_ // (dlgShow "_Dlg_)) |
// // A legnagyobb közös osztó megtalálása // (defun *gcd (x y) (cond ((eq x y) x) ((nagyobb y x) (*gcd y x)) ((eq (maradvány x y) 0) y) ( A 14 15 100 21 "("Tahoma" 14,25 1 0 0) "Első:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_1 _TEXT 155 13 248" 4 "1" 0 "Tahoma" 0 "1" 0 0000 008&H80000005) ( dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 59 133 26 "("Tahoma" 14.25 1 0 0) "Második: "0 &H80000012 &H8000000F) (dlgAddControl _TEXT3 _D26" ( "Tahoma" 14 1 0 0) " " 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_3 _LABEL 13 101 127 27 "("Tahoma" 14.25 1 0 0) "N.O.D." 0 &HFF_00TXl0Control (HFF_0Ad0F8) T_3_TEXT 157 98 247 31 "("Tahoma" 14 1 0 0) "" 0 &HFF &H80000005) (dlgAddControl "_Dlg_ "_BUT_1 _BUTTON 24 148 180 50 "("Tahoma" 8.25 1 0 0) "Számítás") (dlg__BUTldB "7Control_BUTldB "7Control_BUT_1 "7 UT_2 _BUTTON 213 149 180 50 "("Tahoma" 8,25 1 0 0) "Bezárás") (dlgPutPicture "_BUT_2 36) // // KATTINTSON a _BUT_2 gomb eseménykezelőjére // (defun _BUT_2_Click Nil (prog Nil (dLLgD_Hide)") "_DLG_) (gc))) // // A _BUT_2_Click esemény eljárás hozzárendelése a _BUT_2 vezérlőhöz // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // CLICK eseménykezelő a _BUT_1 gombhoz // (defunC _BUT_1 (_prog _BUT11) a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (setq a2 (str2fix (dlgGetText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2)) )) EXCEPT (dlg_ErPutText " !!!")))) // // A _BUT_1_Click esemény eljárás hozzárendelése a _BUT_1 vezérlőhöz // (dlgSetEvent "_BUT_1 "_BUT_1_Click) // // A _Dlg_ párbeszédpanel megjelenítése // (dlgShow "_Dlg_ ))) |
Az működni fog teljesen működőképes EXE fájl. Futtathatja, és megbizonyosodhat róla GCD helyesnek tekinthető: