Kreirajte exe datoteku za pokretanje programa. Kako kreirati .exe iz Python3 datoteke na Windows-u

EXE je format bez kojeg nijedan softver ne može. Obavlja sve procese pokretanja ili instaliranja programa. To može biti ili potpuna aplikacija ili dio nje.

Postoje dvije opcije za kreiranje EXE datoteke. Prvi je korištenje programskih okruženja, a drugi korištenje posebnih instalatera, uz pomoć kojih se kreiraju razni “repakovi” i paketi koji se mogu instalirati jednim klikom. U nastavku ćemo pogledati obje opcije koristeći primjere.

Metoda 1: Zajednica Visual Studio

Razmotrimo proces kreiranja jednostavnog programa zasnovanog na programskom jeziku "Vizuelni C++" i njegovu kompilaciju u Visual Studio Zajednica.

  1. Pokrenite aplikaciju, idite na meni "File", a zatim kliknite na stavku "Kreiraj", a zatim na listi koja se otvara "Projekat".
  2. Otvara se prozor "Kreiranje projekta", u kojem prvo morate kliknuti na natpis "Šabloni", a zatim "Vizuelni C++". Zatim odaberite "Win32 konzolna aplikacija", postavite naziv i lokaciju projekta. Podrazumevano se pohranjuje u radni direktorij Visual Studio Community, u sistemski folder "Moji dokumenti", ali možete odabrati drugi direktorij ako želite. Nakon dovršetka podešavanja, kliknite "OK".
  3. Počinje "Čarobnjak za konfiguraciju Win32 aplikacije", na koji jednostavno kliknemo "Sljedeći".
  4. U sljedećem prozoru definiramo parametre aplikacije. Konkretno, mi biramo "Konzolna aplikacija" i na terenu « Dodatne opcije» "prazan projekat", dok poništavate potvrdu "Prekompilirano zaglavlje".
  5. Pokreće se projekat u koji treba da dodate oblast za pisanje koda. Da biste to učinili, u kartici "Istraživač rješenja" desnim klikom na natpis "Datoteke resursa". Pojavljuje se kontekstni meni, u kojem uzastopno kliknemo na "Dodaj" I "Kreiraj element".
  6. U prozoru koji se otvori „Dodaj novi element» odaberite stavku "C++ fajl". Zatim postavite naziv datoteke koda za buduću aplikaciju i njenu ekstenziju ".Sa". Za promjenu foldera za pohranu kliknite na "Recenzija".
  7. Otvara se pretraživač u kojem odredimo lokaciju i kliknemo na "Odaberi folder".
  8. Kao rezultat, pojavljuje se kartica s naslovom "Izvor.c", u kojem se upisuje i uređuje tekst koda.
  9. Zatim morate kopirati tekst koda i zalijepiti ga u područje prikazano na slici. Uzmimo sljedeće kao primjer:
  10. #include
    #include

    int main(int argc, char* argv) (
    printf("Zdravo, svijet!");
    _getch();
    return 0;
    }

    Napomena: gornji kod je samo primjer. Umjesto toga, morate koristiti vlastiti kod za kreiranje programa u Visual C++.

  11. Za izradu projekta kliknite na "Počni otklanjanje grešaka" na padajućem meniju "Otklanjanje grešaka". Možete samo pritisnuti tipku "F5".
  12. Nakon čega se pojavljuje obavijest da je trenutni projekat zastario. Ovdje trebate kliknuti na "da".
  13. Kada je kompilacija završena, aplikacija prikazuje prozor konzole koji kaže "Zdravo, Svite!".
  14. Kreiranu datoteku možemo pogledati u EXE formatu koristeći Windows Explorer u folderu projekta.

Metod 2: Instalateri

Kako bi se automatizirao proces instalacije softvera, takozvani instalateri postaju sve popularniji. Uz njihovu pomoć kreira se softver čiji je glavni zadatak pojednostaviti proces postavljanja softvera na računar. Pogledajmo proces kreiranja EXE datoteke koristeći Smart Install Maker kao primjer.

  1. Pokrećemo program i na kartici "Informacije" uredite naziv buduće aplikacije. Na terenu "Sačuvaj kao" Kliknite na ikonu foldera da odredite lokaciju na kojoj će se sačuvati izlazna datoteka.
  2. Otvara se Explorer u kojem odabiremo željenu lokaciju i kliknemo "Sačuvaj".
  3. Idite na karticu "fajlovi", gdje trebate dodati datoteke iz kojih će se paket kasnije sastaviti. To se radi klikom na ikonu «+» na dnu interfejsa. Također je moguće dodati cijeli direktorij klikom na ikonu koja prikazuje mapu sa znakom plus.
  4. Zatim se otvara prozor za odabir datoteke u kojem trebate kliknuti na ikonu mape.
  5. U pretraživaču koji se otvori označavamo prava aplikacija(u našem slučaju ovo je "Torent", možete imati bilo koji drugi) i kliknite na "otvoreno".
  6. Kao rezultat, u prozoru "Dodaj unos" Datoteka će biti prikazana s naznakom njene lokacije. Ostavite preostale opcije kao zadane i kliknite "OK".
  7. Pojavljuje se postupak za dodavanje izvornog objekta u aplikaciju i odgovarajući unos se pojavljuje u posebnom području softvera.
  8. Zatim kliknite "Zahtjevi" i otvara se kartica na kojoj trebate provjeriti listu podržanih operativnih sistema. Ostavite kvačicu u poljima "Windows XP" i sve što je ispod toga. Ostavite preporučene vrijednosti u svim ostalim poljima.
  9. Zatim otvorite karticu "Dijalozi" klikom na odgovarajući natpis na lijevoj strani interfejsa. Ovdje sve ostavljamo kao zadano. Da bi se instalacija izvršila u pozadini, možete označiti polje "Skrivena instalacija".

  10. Kada su sva podešavanja završena, pokrenite kompilaciju klikom na ikonu sa strelicom nadole.
  11. Navedeni proces se javlja i njegov trenutni status se prikazuje u prozoru. Kada se kompilacija završi, možete testirati kreirani paket ili potpuno zatvoriti prozor klikom na odgovarajuća dugmad.
  12. Prevedeni softver se može pronaći pomoću Windows Explorera u fascikli koja je navedena tokom podešavanja.

Tako smo u ovom članku otkrili da se EXE datoteka može kreirati koristeći i specijalizirana okruženja za razvoj programa, na primjer Visual Studio Community, i posebne instalatere, na primjer, Smart Install Maker.

Sadržaj
1.Kako kompajlirati EXE
1.1 Tehnologija kompilacije
1.2 Povezani fajlovi
2.Šta treba uključiti u EXE

1.Kako kompajlirati EXE
1.1 Tehnologija kompilacije
epigraf:
"O da Puškin, o da..."
A.S. Puškin

Tehnologija za kompajliranje EXE-ova u Visual FoxPro je prilično jednostavna. Neće nas ometati tako ekstremne metode kao što je unos komandi kao što je GRADNJA PROJEKTA, IZGRADNJA APLIKACIJE, IZGRADNJA EXE , ali ćemo se ograničiti na pogodnosti koje pruža VFP grafički interfejs.
Dakle, da bismo kreirali EXE potrebno je da kliknemo dugme u menadžeru projekta "IZGRADI...". Odabirom opcije u dijaloškom okviru koji se otvara Win32 izvršni/COM server (EXE) pritisnemo OK. SVE. ;-)
"Kako je sve?" - pitate - "A pod kojim imenom sačuvati datoteku?"
Slažem se... Potrebno je naznačiti, inače će sve biti uzalud.
Inače, mislim da bi bilo korisno da vas podsetim da da bi proces kompilacije bio uspešan, morate da popunite projekt menadžera fajlovima vašeg programa, od kojih jedan mora biti kao glavni (u menadžeru projekta naziv ove datoteke je podebljan), tj. fajl koji će se prvi izvršiti. Podrazumevano, prva programska datoteka (*.prg) ili datoteka obrasca (*.scx) uključena u projekat se instalira kao glavni program.
Općenito, sve je prilično jednostavno! Samo..?
Sad o tužnom...

1.2 Povezani fajlovi
epigraf:
"...i kad ga upališ, ne radi!"
M. Zhvanetsky

Sve muke u fazi kompilacije aplikacije su već gotove, a vi, ponosni na svijest o vlastitoj superiornosti nad običnim smrtnicima, jurite skokovima do kupca, instalirate svoju aplikaciju, istovremeno mu (kupcu) opisujući kako je cool sve će sada biti za njega, a računajući u mislima koji šraf treba da kupiš nešto da ti ostane za pivo, odjednom naiđeš na činjenicu da tvoj super-duper program ne zarađuje. Sad. Šteta. I što je najvažnije, nećete imati novi hard disk ili šta god ste planirali da kupite od svoje naknade...

Stvar je u tome da .exe koji smo sastavili nije samostalna izvršna datoteka. Ova pseudo-izvršna datoteka zahtijeva biblioteke podrške (.dll) da bi ispravno funkcionirala. Neću ulaziti u detalje o ovome, već ću jednostavno dati nazive datoteka potrebnih da bi aplikacija ispravno radila.
U principu, do uključujući verziju 6, možete koristiti standardnu ​​za prijenos aplikacije na klijentsku mašinu. Čarobnjak za podešavanje, koji samostalno sve propisuje, au narednim - InstallShield(ili neki drugi instalater).
Sve datoteke ispod su minimalni potrebni skup datoteka za različite verzije VFP-a (na osnovu materijala):

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, vfp6rrus.dll, vfp6ref0. dll, vfpodbc .dll, vfp500.dll, vfp5rus.dll, Foxpro.int
Gore navedeni skup biblioteka mora biti smješten u programski direktorij ili u sistemski direktorij Windows. Za razne Windows verzije ovi direktoriji su različiti:

Win9x, WinMe c:\Windows\SYSTEM WinNT,Win2000,WinXP c:\Windows\SYSTEM32

2.Šta treba uključiti u EXE
epigraf:
"Uključiti ili ne uključiti?"
pijani električar

Sve navedeno u nastavku je lično mišljenje autora, koje možete zanemariti. Ali kada to radite na svoj način, zapamtite: udarati glavom u betonski zid mnogo je bolnije nego iskoristiti pauzu napravljenu prije vas.
Podrazumevano, ready-made.exe uključuje sve datoteke neophodne za rad aplikacije - programe, obrasce, menije, biblioteke, klase itd. osim datoteka baze podataka i tabela (takve datoteke se mogu identificirati po precrtanom krugu pored naziva datoteke u projekt menadžeru). Sve uključeno. exe fajl s nakon kompilacije će postati nepromjenjiv (samo za čitanje). Jasno je da fajlove tabele (*.dbf) ne treba uključivati ​​jer su podložni stalnim operacijama promene i dodavanja podataka, ali ponekad ima slučajeva kada je potrebno sakriti neke statičke podatke od korisnika, ali omogućiti pristup to samim programom. Najbolje mjesto Ne možete zamisliti "unutrašnjost" exe-shnika.
Takođe je prilično česta situacija kada trebate „pronaći“, ili privremeno, promijeniti datoteku izvještaja, ili kada imate čitav skup izvještaja koji su jedinstveni za svakog korisnika. Pa, stvarno, zamislite: deset operatera i po deset izvještaja, i sve to u *.exe. Jedino rješenje u ovoj situaciji je isključiti ove izvještaje iz konačnog fajla i dostaviti ih uz aplikaciju.
U svakom slučaju, odluka o tome koje datoteke ćete isključiti, a koje ostaviti je na vama.

To je to, pivo je gotovo, moramo u prodavnicu.

Srdačan pozdrav Vladislav Kulak

Sigurno su mnogi od vas barem jednom u životu naišli na arhivu sa ekstenzijom .exe, ne rar ili čak zip, već exe. Ljepota ove arhive je u tome što se sama raspakuje i ne zahtijeva instalaciju dodatni programi. Mnogi misle da su za kreiranje ovakve arhive potrebna određena znanja ili programi, ali uvjeravam vas da to nije tako. EXE arhive se kreiraju pomoću jednog od nekoliko najpopularnijih arhivatora: WinRar i WinZip.

Vjerovatno imate instaliran jedan od ova dva arhivatora na vašem računaru, tako da možete bezbedno odmah početi da vežbate. Ako uopće nema arhivatora, onda možete sigurno instalirati 7-zip, jer je besplatan i slobodno distribuiran na Internetu. Počećemo sa ovim arhivatorom.

I tako pripremite folder sa fajlovima koje treba arhivirati i kliknite desnim tasterom miša na njega. Pronalazimo predmet kao što je 7-Zip

Pojavljuje se još jedan podmeni iz kojeg moramo odabrati stavku "Dodaj u arhivu..."

Otvara se prozor, potražite odjeljak „Opcije“, u opcijama stavku “Kreiraj SFX arhivu” Nasuprot njoj postavljamo pticu. Sada obraćamo pažnju na krajnje polje, gdje se nalazi naziv naše buduće arhive. Dodali smo exe ekstenziju. Inače, ime arhive se može promijeniti. Također možete odrediti lokaciju na kojoj želite da je sačuvate. U principu, možete se igrati sa drugim opcijama, ali one ne utiču na tip arhive. Možete postaviti maksimalan nivo kompresije da bi veličina arhive bila što manja.

Sada možete kliknuti na dugme “OK”.

Ovo je fajl koji sam dobio na desktopu:

Hajde sada da shvatimo kako da kreiramo potpuno istu arhivu, ali koristeći WinRar.

Na isti način kliknite desnim tasterom miša na fasciklu i izaberite "Dodaj u arhivu":

U prozoru koji se otvori, na kartici "Općenito", trebate u odjeljku "Opcije arhive" stavite pticu pored predmeta “Kreiraj SFX arhivu”. Hajde da instaliramo neki metod kompresije. Izabrao sam "Dobro".

Kliknite na dugme “OK”.

Rezultat je sljedeća arhiva:

Stoga smo pogledali nekoliko načina da kako napraviti samoraspakujuću exe arhivu.

I također pogledajte video na ovu temu:

Ocijenite ovaj članak:

Mi ćemo razmotriti creation.exe koristeći biblioteku modula py2exe. Ovo zahteva Python 3.4 i ispod.

Ako imate instaliranu višu verziju Pythona, pokušajte koristiti (ispod)

U ovom primjeru ćemo pogledati kreiranje .exe koristeći primjer Python3.4.

Prije svega, potrebno je stvoriti virtualno okruženje za Python3.4. U ovom primjeru ćemo ga nazvati myenv. Možete odabrati bilo koje drugo ime, ali ne zaboravite napraviti odgovarajuće promjene.

Na terminalu upišite sljedeće naredbe:

>py -3.4 -m venv myenv > myenv\Scripts\activate.bat

IN komandna linijaće se pojaviti prefiks myenv, što znači da je virtuelno okruženje pod nazivom myenv učitano. Svi timovi Pythonće sada koristiti novo virtuelno okruženje.

Sada instalirajmo py2exe(https://pypi.python.org/pypi/py2exe~~HEAD=dobj) u našem virtuelnom okruženju:

>pip install py2exe

I konačno, da kreiramo jednu EXE datoteku, u našem virtuelnom okruženju pokrećemo naredbu:

>python -m py2exe.build_exe hello.py -c --bundle-fajlovi 0

(zamijenite hello.py na naziv vašeg scenarija. Ako se skripta nalazi u drugom folderu, onda morate koristiti punu putanju do vaše skripte, na primjer, C:\Projects\Python\hello.py). Ovo će kreirati fasciklu DIST koja sadrži izvršnu datoteku. Za brz pristup u njega ukucajte terminal:

> explorer dist

Vidjet ćete putanju do mape u kojoj se nalazi EXE datoteka.

Napomena: Kada se izvrši, prozor će se otvoriti i nestati jednako brzo kao što se pojavio.
Ovo se dešava zato što operativni sistem automatski zatvara terminal u kojem je završen program konzole.
Da biste promijenili ovu situaciju, možete dodati liniju

> unos ("Kliknite za izlaz...")

na kraju fajla Python. Tumač će čekati na unos korisnika i prozor će ostati otvoren dok korisnik ne pritisne enter.

Možete detaljno proučiti upotrebu py2exe u dokumentaciji na stranici modula: https://pypi.python.org/pypi/py2exe
Izlazak iz virtuelnog okruženja vrši se naredbom

>deaktivirati

Metoda 2

Preko komande Windows string instaliraj pyinstaller:

> pip install pyinstaller

Na komandnoj liniji idite na fasciklu u kojoj se nalazi datoteka

CDC:\...

Zatim u komandnoj liniji ukucamo naredbu

Pyinstaller --onefile example.py

Umjesto exapmle.py koristite ime datoteke iz koje želite da kreirate exe datoteku.

Za par minuta sve je spremno! Najvjerovatnije će se exe datoteka nalaziti u kreiranoj podmapi dist

HomeLisp(barem u predloženoj verziji) nije u stanju kompajlirati Lisp kod u mikroprocesorske instrukcije. Stoga se za kreiranje autonomnih izvršnih datoteka koristi tehnologija koja se može konvencionalno nazvati pseudo-EXE.

Suština ove tehnologije je sljedeća.

U isporuci HomeLisp uključuje stub izvršnu datoteku koja sadrži kernel HomeLisp. Veličina ove datoteke je oko dvije stotine kilobajta. Prilikom kreiranja EXE datoteke, prvo se pravi kopija stub datoteke s imenom koje je odredio programer. Sve dalje manipulacije se izvode sa kreiranom kopijom, koju ćemo dalje zvati cilj

fajl. Pretpostavimo da je programer napisao i uploadovao niz funkcija koje zajedno čine aplikacija . Prilikom kreiranja EXE datoteke, sve funkcije koje odabere programer dodjeljuju se „repu“ ciljne datoteke. Pored ovih funkcija, upisuje se i takozvani “rep” ciljne datoteke. početni S-izraz HomeLisp, kao i korisnički definirane postavke okruženja

(veličine internih stekova, broj dinamičkih objekata, itd.) HomeLisp Kada se ciljna datoteka pokrene, kontrolu prvo preuzima program za inicijalizaciju kernela. , koji zatim čita sve funkcije koje je sačuvao korisnik iz datoteke i učitava ih u Lisp okruženje. Nakon toga, blok dobija kontrolu početni S-izraz

, a program koji je obezbijedio programer počinje da se izvršava. Pogledajmo proces kreiranja EXE datoteke koristeći jednostavan praktični primjer: napravimo dijaloški program koji će izračunati najveći zajednički djelitelj HomeLisp dva cijela broja koristeći Euklidski algoritam.

Ovaj primjer nije toliko beskoristan: pošto radi sa cijelim brojevima neograničenog kapaciteta, pisanje sličnog primjera u bilo kojem uobičajenom programskom okruženju (VB, C++, Delphi) zahtijevalo bi značajan trud... Funkcija

*GCD

Primjeri poziva pokazuju funkcionalnost funkcije. Zatim morate kreirati dijalošku ljusku da biste pozvali ovu funkciju. U najjednostavnijem slučaju, ova ljuska se može organizirati na sljedeći način:

Zahtjev (preko funkcije ASK) prvi operand;

Zahtjev za drugim operandom;

Izračunavanje rezultata;

Prikaz rezultata pomoću funkcije RECI ;

Napišimo izraz za definiranje funkcije GCD-1, u kojem će biti implementiran gornji algoritam:

(defun GCD-1 nil (prog (a1 a2) (setq a1 (str2fix (Pitajte "Unesite prvi operand"))) (setq a2 (str2fix (Pitajte "Unesite drugi operand")) (TRY (recite (fix2str (* gcd a1 a2))) OSIM (recite "Greška!"))))

Napominjemo da je rezultat poziva ASK ima tip STRING, i funkciju radi sa cijelim brojevima neograničenog kapaciteta, pisanje sličnog primjera u bilo kojem uobičajenom programskom okruženju (VB, C++, Delphi) zahtijevalo bi značajan trud... zahtijeva operande tipa FIXED. Stoga, prije dodjeljivanja korisničkih vrijednosti lokalnim varijablama, a1 I a2, ove vrijednosti treba pretvoriti u tip FIXED(za šta se koriste pozivi funkcija? STR2FIX).

Nadalje, budući da je u pripremi dijaloški program namijenjen krajnjem korisniku, treba ga obezbijediti moguće greške. Zbog toga se radi izračunavanje najvećeg zajedničkog djelitelja kritični dio koda koristeći poziv funkcije POKUŠAJTE Ako dođe do kvara tokom procesa izračunavanja, program se neće "srušiti", već će prikazati poruku "Greška!"

Ako izvršite funkciju GCD-1 iz razvojnog okruženja, prvi prozor prompt operanda će biti prikazan:


Korisnik unosi prvi operand i pritisne dugme OK; Pojavljuje se prozor koji traži drugi operand:


Korisnik ulazi u drugi operand, pritisne dugme OK i dobije rezultat:


Sada gradimo na osnovu debugovane funkcije GCD-1 izvršnu datoteku. Da biste to učinili, u razvojnom okruženju, odaberite stavku glavnog menija EXE fajl ili kliknite na dugme na traci sa alatkama sa sledećom ikonicom:


U oba slučaja otvorit će se prozor za izgradnju EXE datoteke:



Da biste kreirali EXE datoteku, morate slijediti ove korake:

Postavite naziv EXE datoteke. Ime (i putanja) buduće EXE datoteke navedeni su u kombinovanom okviru u gornjem levom uglu obrasca za kreiranje EXE datoteke. Ime i putanju možete postaviti ručno, ili možete kliknuti na dugme "..." i odabrati direktorij i naziv pomoću standardnog dijaloga Sačuvaj kao. Podrazumevano se kreira datoteka noname.exe u trenutnom direktoriju.

U području za unos "Pokretanje S-izraza" potrebno je navesti kod od kojeg će početi izvršavanje buduće aplikacije. Početni S-izraz može biti poziv funkcije. Ako trebate definirati početni S-izraz koji se sastoji od nekoliko poziva, onda bi ti pozivi trebali biti "ograđeni" u PROG- dizajn.

Navedene radnje su minimalno potrebne. Osim toga, korisnik može dodatno učiniti sljedeće:

Na listi pod nazivom "Funkcije, konstante, varijable" poništite kvadratiće pored objekata čije prisustvo nije neophodno za pokretanje aplikacije. Ova akcija će malo povećati brzinu izvršavanja aplikacije;

Promijenite vrijednosti postavki na listi koja se nalazi u gornjem desnom uglu. Redoslijed radnji prilikom zamjene vrijednosti parametara bit će opisan u nastavku;

Poništite potvrdni okvir "Prikaži obrazac za otpremu pri pokretanju". Ako je ovo polje za potvrdu ostavljeno odabrano, posebna ikona će biti prikazana kada se aplikacija pokrene. kontrolna soba formu. Ovom obrascu se može dati naslov (u odgovarajućem polju za unos). Korištenje obrasca za otpremu pogodno je za otklanjanje grešaka.

Označite ili opozovite izbor u polju za potvrdu "Obavijesti me kada završim". Ako je ovo polje za potvrdu označeno, poruka će se prikazati prije nego što se aplikacija završi.

Prozor za kreiranje EXE datoteke sa minimalno potrebnim skupom parametara može izgledati ovako:



Zatim morate kliknuti na dugme sa zelenom kvačicom. Ako naručeni EXE fajl već postoji, HomeLispće od vas zatražiti da potvrdite prepisivanje datoteke ili navedete novo ime. Nakon toga, nakon uspješnog završetka, prikazuje se sljedeća poruka:


Možete osigurati da se EXE datoteka pojavljuje u trenutnom direktoriju gcd-1.exe, kada se pokrene, dolazi do opisanog dijaloga sa korisnikom.

Ako, prilikom kreiranja EXE datoteke, označite polje za potvrdu “Prikaži obrazac za otpremu pri pokretanju” i postavite naslov obrasca:


Zatim, prilikom izvršavanja rezultirajuće EXE datoteke, u gornjem desnom uglu ekrana prikazuje se obrazac za otpremu:


Kada odaberete stavku menija Start (ili kliknete na odgovarajuće dugme ispod), aplikacija počinje da se pokreće. Nakon što je aplikacija završena, obrazac za otpremu ostaje na ekranu, što vam omogućava da više puta pokrenete aplikaciju. Da biste trajno prekinuli aplikaciju, potrebno je da izaberete stavku menija "Izlaz" (ili kliknite na dugme ispod).

Ukoliko dođe do greške tokom izvršavanja aplikacije sa obrascem za otpremu, informacija o grešci se prikazuje u izlaznom području, koje je inače skriveno. Na primjer, ako početni S-izraz učinite pozivom nepostojećoj funkciji (nepoznato), onda kada se izvrši, pojavit će se slika ispod:


Korištenje obrasca za otpremu omogućava vam da nasilno zaustavite aplikaciju. Da biste to učinili, koristite stavku menija "Stop" i dugme koje se nalazi ispod (i stavka menija i dugme su aktivni samo dok je aplikacija pokrenuta). Ako je, na primjer, izračunavanje faktorijala dovoljno velikog broja navedeno kao početni izraz, tada možete vidjeti stavku menija i dugme za zaustavljanje:


Ako pritisnete “Stop” tokom izvršavanja, izvršenje programa se prekida:


Stavka glavnog menija "Windows" obrasca za otpremu (i odgovarajuće komandno dugme) biće aktivna kada se tokom izvršavanja aplikacije kreira najmanje jedan grafički prozor. Kada odaberete stavku "Windows" (ili kliknete na dugme koje se nalazi ispod), poziva se grafički menadžer prozora.

Režim za pravljenje EXE fajlova sa obrascem za otpremu je namenjen da olakša otklanjanje grešaka u aplikacijama. Ako ne koristite obrazac za otpremu, upravljajte grafički prozori

Sam programer će to morati učiniti, a ako se aplikacija zamrzne, morat će koristiti OS task manager da je ukloni.



Ako trebate promijeniti vrijednost bilo kojeg parametra podešavanja (veličina steka, broj tokena, itd.), morate kliknuti na željeni red na listi "Parametri". Numerička vrijednost odgovarajućeg parametra će se prenijeti u polje za unos ispod liste: As drugi primjer kreiranja EXE datoteke , razmotrite prethodni problem (izračunavanje GCD


), ali sa prozorskim grafičkim interfejsom. Da bismo to uradili, kreiraćemo dijalog (kao što je opisano), na čiju formu ćemo postaviti tri oznake, tri polja za unos i dva dugmeta. Dodijelimo proceduru rukovatelja jednom od gumba, u kojoj ćemo izračunati GCD brojeva unesenih u prvo i drugo polje za unos i u polje rezultata unijeti izračunati GCD. Drugi alat za obradu klika na dugme će zatvoriti i uništiti dijalog. Forma dijaloga sa kontrolama može izgledati ovako: Programski kod

(prog nil (dlgCreate "_Dlg_ 419 233 "Najveći zajednički djelitelj:") (dlgAddControl "_Dlg_ "_LBL_1 _LABEL 14 15 100 21 "("Tahoma" 14.25 1 0 : 0 0 0 0 0 0 0) F) (dlgAddControl " _Dlg_ " _TXT_1 _TEXT 155 13 248 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 14 "5.126" ) "Drugo: " 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_2 _TEXT 156 56 247 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000008 &H80000005) (dlglgl0005) (dlglgl0005) 1 127 27 "("Tahoma" 14, 25 1 0 0) "N.O.D." 0 &HFF &H8000000F) (dlgAddControl "_Dlg_ "_TXT_3 _TEXT 157 98 247 31 "("Tahoma" 14 1 0 0) "" 0 &HFF0 &H8000000 "" 0 &HFF00000000000000" _BUTTON 24 148 180 50 "( "Tahoma" 8.25 1 0 0) "Izračunaj") (dlgPutPicture "_BUT_1 7) (dlgAddControl "_Dlg_ "_BUT_2 _BUTTON 213 149 180 50 "("Tahoma" 0.205") "Ch 36) / / // CLICK obrađivač događaja za dugme _BUT_2 // (defun _BUT_2_Click Nil (prog Nil (dlgHide "_DLG_) (dlgDestroy "_DLG_)) (gc))) // // Svrha procedure -događaji _BUT_2_Klik kontrola ( _BUT_2 // dlgSetEvent "_BUT_2 "_BUT_2_Click) // // KLIK Upravljač događajima za dugme _BUT_1 // (definisano _BUT_1_Klik Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (str2fixT_2) (str2fixTx (str2GetText a) ))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2))) OSIM (dlgPutText "_TXT_3 "Greška!!!")))) // // Dodjela procedure događaja _BUT_1_Klik kontrola _BUT_1 // (dlgSetEvent " "" _BUT_1 "_BUT_1_Klik) // // Prikaz dijaloga _Dlg_ // (dlgShow "_Dlg_))

Da biste napravili EXE datoteku, morate učitati funkciju u Lisp okruženje i napisati početni izraz za prikaz dijaloga. Najlakši način je da "uronite" gore navedeno PROG-izgradnja u funkciju MAIN bez parametara. Tada će početni S-izraz za pokretanje EXE datoteke biti poziv (glavni). Dakle, ako učitate sljedeće funkcije u Lisp okruženje:
// // Pronalaženje najvećeg zajedničkog djelitelja // (defun *gcd (x y) (cond ((eq x y) x) ((greaterp y x) (*gcd y x)) ((eq (ostatak x y) 0) y) ( T (*gcd y (ostatak x y))))) // // Program za prikaz dijaloga _Dlg_ // (defun main nil (prog nil (dlgCreate "_Dlg_ 419 233 "Najveći zajednički djelitelj:") (dlgAddControl "_Dlg1_ "_LBL_ 14 15 100 21 "("Tahoma" 14.25 1 0 0) "Prvi:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_1 _TEXT 155 13 1 "04" 155 13 "04 04" 800 00008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 59 133 26 "("Tahoma" 14.25 1 0 0) "Second:" 0 &H80000012 &H8000000F) (dlgAddControl 12 59 133 26" "("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 & 0dl "0 &0dl_0 "_TXT_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) "Vygčislitʹ") (BUTtrol_Control) _Dlg_ " _BUT_2 _BUTTON 213 149 180 50 "("Tahoma" 8.25 1 0 0) "Zatvori") (dlgPutPicture "_BUT_2 36) // // KLIKNI obrađivač događaja za dugme _BUT_2 // (defun _lick_ lg (defun _lick_ l_g (L) ) (dlgDestroy "_DLG_) (gc)) // // Dodjeljivanje procedure događaja _BUT_2_Click kontroli _BUT_2 // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // KLIKNI rukovalac događaja za dugme _BUT_1_li // (T_1_C Nick prog (a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (setq a2 (str2fix (dlgGetText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 EX a2) )TDText) " "Greška!!!")))) // // Dodjela procedure događaja _BUT_1_Click kontroli _BUT_1 // (dlgSetEvent "_BUT_1 "_BUT_1_Klik) // // Prikaz dijaloga _Dlg_ // (dlgShow "_Dlg_ )))

a zatim napravite EXE datoteku gcd-2.exe, postavljanjem sledeći parametri:


To će uspjeti potpuno funkcionalan EXE fajl. Možete ga pokrenuti i uvjeriti se u to , razmotrite prethodni problem (izračunavanje smatra ispravnim:

Pregled