Skapa en EXE-fil. Hur man skapar ett självextraherande exe-arkiv Hur man skapar en programstartfil

Innehåll
1.Hur man kompilerar EXE
1.1 Kompileringsteknik
1.2 Relaterade filer
2.Vad måste inkluderas i EXE

1.Hur man kompilerar EXE
1.1 Kompileringsteknik
Motto:
"Oh ja Pushkin, åh ja..."
A.S. Pushkin

Tekniken för att kompilera EXE i Visual FoxPro är ganska enkel. Vi kommer inte att distraheras av sådana extrema metoder som att ange kommandon som BYG PROJEKT, BYG APP, BYG EXE , men vi kommer att begränsa oss till de bekvämligheter som tillhandahålls av VFP:s grafiska gränssnitt.
Så för att skapa en EXE måste vi klicka på knappen i projektledaren "BYGGA...". Genom att välja alternativet i dialogrutan som öppnas Win32 körbar/COM-server (EXE) vi trycker på OK. ALLT. ;-)
"Hur är allt?" - du frågar - "Vad sägs om vilket namn du ska spara filen under?"
Jag håller med... Det är nödvändigt att indikera, annars kommer allt att vara förgäves.
Förresten, jag tror att det skulle vara bra att påminna dig om att för att sammanställningsprocessen ska bli framgångsrik måste du fylla projektledaren med filer för ditt program, varav en måste vara som huvud (i projektledaren namnet på denna fil är i fetstil), dvs. filen som kommer att köras först. Som standard är den första programfilen (*.prg) eller formulärfilen (*.scx) som ingår i projektet installerad som huvudprogram.
I allmänhet är allt ganska enkelt! Bara..?
Nu om det sorgliga...

1.2 Relaterade filer
Motto:
"...och när du slår på den fungerar den inte!"
M. Zhvanetsky

Alla krångel i applikationssammanställningsstadiet är redan över, och du, stolt över din medvetenhet om din egen överlägsenhet över enbart dödliga, rusar med stormsteg till kunden, installerar din applikation och beskriver samtidigt för honom (kunden) hur coolt allt kommer att vara för honom nu, och när du räknar i ditt sinne vilken skruv du behöver för att köpa något att ha över till öl, kommer du plötsligt på det faktum att ditt superduper-program inte tjänar några pengar. Ledsen. Det är synd. Och viktigast av allt, du kommer inte att ha en ny hårddisk eller vad du nu tänkt köpa från din avgift...

Saken är att .exe-filen vi kompilerade inte är en fristående körbar fil. Den här pseudokörbara filen kräver stödbibliotek (.dlls) för att fungera korrekt. Jag kommer inte att gå in i mycket detaljer om detta, utan kommer helt enkelt att ge namnen på de filer som krävs för att applikationen ska fungera korrekt.
I princip, upp till version 6 inklusive, kan du använda standarden för att överföra applikationen till klientdatorn. Installationsguiden, som självständigt föreskriver allt, och i efterföljande - InstallShield(eller annan installatör).
Alla filerna nedan är den minsta nödvändiga uppsättningen filer för olika versioner av VFP (baserat på material):

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, vdllfp6rrus.dll, vdllfp6rrus.dll. vfpodbc .dll, vfp500.dll, vfp5rus.dll, Foxpro.int
Ovanstående uppsättning bibliotek måste placeras i programkatalogen eller i Windows systemkatalog. För olika Windows-versioner dessa kataloger är olika:

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

2.Vad måste inkluderas i EXE
Motto:
"Att inkludera eller inte att inkludera?"
berusad elektriker

Allt som anges nedan är författarens personliga åsikt, som du kan ignorera. Men när du gör det på ditt sätt, kom ihåg: att dunka huvudet i en betongvägg är mycket mer smärtsamt än att dra nytta av en paus som gjordes innan dig.
Som standard innehåller den färdiga .exe alla filer som behövs för att applikationen ska fungera - program, formulär, menyer, bibliotek, klasser, etc. förutom databas- och tabellfiler (sådana filer kan identifieras av den överstrukna cirkeln bredvid filnamnet i projektledaren). Alla filer som ingår i .exe kommer att bli omodifierbara (skrivskyddade) efter kompilering. Det är tydligt att tabellfiler (*.dbf) inte bör inkluderas eftersom de är föremål för ständiga operationer för att ändra och lägga till data, men ibland finns det fall då det är nödvändigt att dölja vissa statiska data för användaren, men ge tillgång till det av själva programmet. Jag kan inte tänka mig en bättre plats än "insidan" av en ex-man.
Det är också en ganska vanlig situation när du behöver "hitta", eller tillfälligt, ändra en rapportfil, eller när du har en hel uppsättning rapporter som är unika för varje användare. Tja, verkligen, föreställ dig: tio operatorer och tio rapporter vardera, och allt detta i *.exe. Den enda lösningen i denna situation är att utesluta dessa rapporter från den slutliga filen och förse dem med ansökan.
I vilket fall som helst är beslutet om vilka filer som ska exkluderas och vilka som ska lämnas upp till dig.

Det är det, ölen är slut, vi måste gå till mataffären.

Med vänlig hälsning, Vladislav Kulak

Säkerligen har många av er åtminstone en gång i livet stött på ett arkiv med tillägget .exe, inte rar eller ens zip, utan exe. Det fina med detta arkiv är att det är självextraherande och inte kräver installation av ytterligare program. Många tror att för att skapa den här typen av arkiv krävs vissa specifik kunskap eller program, men jag kan försäkra er att så inte är fallet. EXE-arkiv skapas med ett av flera populäraste arkiv: WinRar och WinZip.

Du har förmodligen en av dessa två arkiverare installerad på din dator, så du kan säkert börja öva direkt. Om det inte finns någon arkivering alls, kan du säkert installera 7-zip, eftersom det är gratis och fritt distribuerat på Internet. Vi börjar med denna arkiverare.

Och så, förbered mappen med filerna som behöver arkiveras och högerklicka på den. Vi hittar ett föremål som 7-Zip

En annan undermeny dyker upp från vilken vi måste välja objektet "Lägg till arkiv..."

Ett fönster öppnas, leta efter avsnittet "Alternativ", i alternativen objektet "Skapa SFX-arkiv" Vi placerar en fågel mittemot den. Nu uppmärksammar vi det översta fältet, där namnet på vårt framtida arkiv är. Vi har lagt till ett exe-tillägg. Namnet på arkivet kan förresten ändras. Du kan också ange var du vill spara den. I princip kan du leka med de andra alternativen, men de påverkar inte arkivtypen. Du kan ställa in den maximala komprimeringsnivån för att hålla arkivstorleken så liten som möjligt.

Nu kan du klicka på "OK"-knappen.

Det här är filen jag fick på mitt skrivbord:

Låt oss nu ta reda på hur man skapar exakt samma arkiv, men med WinRar.

På samma sätt högerklickar du på mappen och väljer "Lägg till arkiv":

I fönstret som öppnas, på fliken "Allmänt", måste du göra det i avsnittet "Arkivalternativ" sätta en fågel bredvid föremålet "Skapa SFX-arkiv". Låt oss installera någon komprimeringsmetod. Jag valde "Bra".

Klicka på knappen "OK".

Resultatet är följande arkiv:

Så vi tittade på flera sätt att hur man skapar ett självextraherande exe-arkiv.

Och titta även på en video om ämnet:

Betygsätt den här artikeln:

Innehåll:

Från den här artikeln kommer du att lära dig hur du skapar en enkel EXE-fil på en Windows-dator, samt hur du skapar en exe-behållare som kan användas för att köra den körbara filen på en annan dator. EXE-filer används för att installera program eller lägga till filer till din dator. Windows kontroll. För att skapa en EXE-fil måste du använda systemverktyg IExpress.

Steg

Del 1 Hur man skapar en EXE-fil

  1. 1 Öppna Start-menyn.
  2. 2 I startmenyns sökfält skriver du anteckningar. Detta tar dig till programmet Anteckningar.
  3. 3 Klicka på programikonen Anteckningar. Det ser ut som ett blått anteckningsblock och finns högst upp på Start-menyn.
  4. 4 Ange programkoden för filen. Ange koden rad för rad eller kopiera och klistra in den i Anteckningar (om du redan har koden redo).
    • Om du inte vet hur, be någon annan att göra det.
    • Programkoder för enkla EXE-filer kan också hittas på Internet.
  5. 5 Klicka på Arkiv. Den här menyn finns i det övre vänstra hörnet av fönstret Anteckningar. En rullgardinsmeny öppnas.
  6. 6 Klicka på Spara som. Det här alternativet finns i rullgardinsmenyn Arkiv.
  7. 7 Öppna rullgardinsmenyn Filtyp. Du hittar den längst ner i fönstret.
    • Det aktuella menyalternativet Filtyp bör vara Textdokument (*.txt).
  8. 8 Klicka på Alla filer. Det här alternativet finns i rullgardinsmenyn.
  9. 9 Ange ett namn för EXE-filen. Ange ett namn på raden Filnamn och ange sedan filtillägget .exe . Detta kommer att spara filen som en EXE-fil.
    • Om filnamnet till exempel är "bananer", skriv in bananas.exe.
  10. 10 Välj mappen där EXE-filen ska lagras. För att göra detta, klicka på lämplig mapp till vänster i fönstret.
  11. 11 Klicka på Spara. Den här knappen finns i det nedre högra hörnet av skärmen. Detta kommer att spara EXE-filen i den valda mappen.

Del 2 Hur man skapar en installations-EXE-fil

  1. 1 Öppna Start-menyn. För att göra detta, klicka på Windows-logotypen i det nedre vänstra hörnet av skärmen.
  2. 2 Skriv iexpress i startmenyns sökfält. Så här hittar du det här verktyget.
    • Ange ordet iexpress i sin helhet.
  3. 3 Klicka på verktygsikonen iexpress. Det ser ut som ett grått skåp och finns högst upp i Start-menyn.
  4. 4 Markera alternativet "Skapa ny självextraktionsdirektivfil". Det är mitt på sidan. Detta alternativ bör vara markerat som standard; annars väljer du den.
  5. 5 Klicka på Nästa. Den här knappen finns i det nedre högra hörnet av fönstret.
  6. 6 Markera alternativet "Extrahera endast filer". Det är mitt på sidan.
  7. 7 Klicka på Nästa.
  8. 8 Ange namnet på din EXE-fil. Gör detta i textrutan i mitten av fönstret och klicka sedan på Nästa.
  9. 9 Tänk på en promptlåda. Om du vill att användaren ska bekräfta att de vill köra EXE-filen, markera alternativet "Fråga användare med" och ange texten för bekräftelseförfrågan. Annars klickar du på Nästa.
    • När användaren kör EXE-filen öppnas ett fönster med texten du skrev in (om du valde alternativet för begäran).
  10. 10 Tänk på licensavtalets fönster. Om du vill att licensavtalet ska visas på skärmen, markera kryssrutan "Visa en licens", klicka sedan på "Bläddra" för att välja dokumentet som innehåller licensavtalet och klicka sedan på "Öppna". Annars klickar du på Nästa.
  11. 11 Klicka på Lägg till. Denna knapp är placerad i den nedre mittdelen av fönstret. Ett nytt Explorer-fönster öppnas där du kan välja vilka filer som ska ingå i installations-EXE-filen.
    • Filerna som ingår i installations-EXE-filen kommer att installeras när användaren kör EXE-filen.
  12. 12 Välj de filer som ska inkluderas i EXE-filen. Klicka på filmappen till vänster i Explorer-fönstret och välj sedan nödvändiga filer; För att göra detta, håll nere vänster musknapp och dra markören över önskade filer.
    • Du kan också välja filer en efter en; För att göra detta, håll ner ^ Ctrl och klicka på varje fil du behöver.
  13. 13 Klicka på Öppna. Den här knappen finns i det nedre högra hörnet av fönstret. Detta kommer att lägga till filerna i installations EXE-filen.
    • Om du behöver lägga till fler filer, klicka på "Lägg till" igen och upprepa processen.
  14. 14 Klicka på Nästa.
  15. 15 Markera alternativet "Standard" och klicka sedan på Nästa. Det är högst upp i fönstret.
  16. 16 Överväg en avslutande meddelanderuta. Detta meddelande visas på skärmen efter att installationsprocessen av EXE-filen är klar. Markera alternativet "Visa meddelande", ange texten i meddelandet och klicka sedan på "Nästa".
    • Om du inte vill att det sista meddelandet ska visas på skärmen klickar du bara på Nästa.
  17. 17 Lägg till programmet du vill installera. Detta är ett program i en EXE-fil som skapades tidigare. Klicka på Bläddra, öppna mappen som innehåller filen, klicka på den och klicka på Spara.
    • Om du vill, markera alternativet "Dölj filextraheringsprocessanimering från användare" för att få installationsfilen att köras utan onödiga visuella effekter.
  18. 18 Klicka på Nästa tre gånger. En EXE-installationsfil kommer att skapas. Den tid som krävs för denna process beror på antalet filer du inkluderade i installations EXE-filen.
  19. 19 Klicka på Slutför. Den här knappen finns längst ner i fönstret. Installations EXE-filen kommer att sparas och redo att användas.
  • För att köra EXE behöver du inte installations-EXE, men installations-EXE installerar EXE och alla stödjande objekt (som ReadMe-filen, mappar och så vidare).

Varningar

  • Om du inte vet hur man kodar en EXE-fil, fråga någon som vet hur man kodar.

HomeLisp(åtminstone i den föreslagna versionen) är inte kapabel att kompilera Lisp-kod till mikroprocessorinstruktioner. Därför, för att skapa autonoma körbara filer, används en teknik som kan kallas pseudo-EXE.

Kärnan i denna teknik är följande.

I leverans HomeLisp innehåller en körbar stubfil som innehåller kärnan HomeLisp. Storleken på denna fil är cirka tvåhundra kilobyte. När du skapar en EXE-fil görs först en kopia av stubbfilen med ett namn som specificerats av utvecklaren. Alla ytterligare manipulationer utförs med den skapade kopian, som vi kommer att kalla vidare målinriktad fil.

Låt oss anta att en utvecklare har skrivit och laddat upp en serie funktioner som tillsammans utgör Ansökan. När du skapar en EXE-fil tilldelas alla funktioner som valts av utvecklaren till "svansen" av målfilen. Utöver dessa funktioner skrivs den så kallade "svansen" av målfilen. starta S-uttryck, samt användardefinierade miljöinställningar HomeLisp(storlekar på interna stackar, antal dynamiska objekt, etc.)

När målfilen startas övertas kontrollen först av kärninitieringsprogrammet. HomeLisp, som sedan läser alla användarsparade funktioner från filen och laddar in dem i Lisp-miljön. Efter detta får blocket kontroll starta S-uttryck, och programmet som tillhandahålls av utvecklaren börjar köras.

Låt oss titta på processen att skapa en EXE-fil med ett enkelt praktiskt exempel: låt oss skapa ett dialogprogram som beräknar största gemensamma delaren två heltal med den euklidiska algoritmen. Detta exempel är inte så värdelöst: sedan HomeLisp fungerar med heltal med obegränsad kapacitet, att skriva ett liknande exempel i vilken vanlig programmeringsmiljö som helst (VB, C++, Delphi) skulle kräva betydande ansträngning...

Fungera *GCD har följande form:

(defun *gcd (x y) (cond ((eq x y) x) ((större p y x) (*gcd y x)) ((eq (resten x y) 0) y) (T (*gcd y (resten x y))) )) ==> *gcd (*gcd 655 72) ==> 1 (*gcd 655 75) ==> 5 (*gcd 65536 4096) ==> 4096

Anropsexempel visar funktionaliteten hos funktionen. Därefter måste du skapa ett dialogskal för att anropa den här funktionen. I det enklaste fallet kan detta skal organiseras enligt följande:

Begäran (via funktion FRÅGA) första operand;

Begäran om den andra operanden;

Beräkning av resultatet;

Visar resultatet med en funktion SÄGA ;

Låt oss skriva ett definierande uttryck för funktionen GCD-1, där ovanstående algoritm kommer att implementeras:

(defun GCD-1 noll (prog (a1 a2) (setq a1 (str2fix (Fråga "Ange den första operanden"))) (setq a2 (str2fix (Fråga "Ange den andra operanden"))) (TRY (säg (fix2str) (* gcd a1 a2))) FÖRUTOM (säg "Fel!"))))

Observera att resultatet av samtalet FRÅGA har typ STRÄNG, och funktionen *GCD kräver operander av typen FAST. Därför, innan du tilldelar användarangivna värden till lokala variabler, a1 Och a2, dessa värden bör konverteras till typ FAST(vad används funktionsanrop till? STR2FIX).

Dessutom, eftersom ett dialogprogram förbereds för slutanvändaren, bör möjliga fel förutses. Det är därför beräkningen av den största gemensamma divisorn görs kritisk del av koden med hjälp av ett funktionsanrop PROVA Om ett fel inträffar under beräkningsprocessen kommer programmet inte att "krascha", utan kommer att visa meddelandet "Error!".

Om du utför funktionen GCD-1 från utvecklingsmiljön kommer det första operandpromptfönstret att visas:


Användaren går in i den första operanden och trycker på knappen OK; Ett fönster som frågar efter den andra operanden visas:


Användaren går in i den andra operanden, trycker på knappen OK och får resultatet:


Låt oss nu bygga baserat på den felsökta funktionen GCD-1 körbar fil. För att göra detta, när du befinner dig i utvecklingsmiljön, välj huvudmenyalternativet EXE-fil eller klicka på knappen i verktygsfältet med följande ikon:


I båda fallen öppnas EXE-filbygget:



För att skapa en EXE-fil måste du följa dessa steg:

Ställ in namnet på EXE-filen. Namnet (och sökvägen) till den framtida EXE-filen anges i kombinationsrutan i det övre vänstra hörnet av formuläret för att skapa EXE-filer. Namnet och sökvägen kan ställas in manuellt, eller så kan du klicka på knappen "..." och välja katalog och namn med hjälp av standarddialogrutan Spara som. Som standard skapas en fil noname.exe i den aktuella katalogen.

I inmatningsområdet "Starta S-Expression" det är nödvändigt att ange koden från vilken exekveringen av den framtida applikationen ska börja. Det startande S-uttrycket kan vara ett funktionsanrop. Om du behöver definiera ett startande S-uttryck som består av flera anrop, bör dessa anrop "inneslutas" i PROG- design.

De listade åtgärderna är det minsta nödvändiga. Dessutom kan användaren dessutom göra följande:

I listan med titeln "Funktioner, konstanter, variabler", avmarkera kryssrutorna bredvid objekt vars närvaro inte är nödvändig för att programmet ska köras. Denna åtgärd kommer att öka exekveringshastigheten för applikationen något;

Ändra inställningsvärdena i listan i det övre högra hörnet. Sekvensen av åtgärder vid byte av parametervärden kommer att beskrivas nedan;

Återställ kryssrutan "Visa leveransformulär vid start". Om den här kryssrutan lämnas markerad kommer en speciell ikon att visas när programmet startar. kontrollrum form. Detta formulär kan ges en titel (i motsvarande inmatningsfält). Att använda avsändningsformuläret är bekvämt för felsökning.

Markera eller avmarkera kryssrutan "Meddela mig när det är klart". Om den här kryssrutan är markerad kommer ett meddelande att visas innan programmet avslutas.

Fönstret för att skapa en EXE-fil med minsta nödvändiga uppsättning parametrar kan se ut så här:



Därefter måste du klicka på knappen med den gröna bocken. Om den beställda EXE-filen redan finns, HomeLisp kommer att uppmana dig att bekräfta överskrivning av filen eller ange ett nytt namn. Efter det, efter framgångsrikt slutförande, visas följande meddelande:


Du kan se till att EXE-filen visas i den aktuella katalogen gcd-1.exe, när den startas uppstår den beskrivna dialogen med användaren.

Om, när du skapar en EXE-fil, markerar du kryssrutan "Visa leveransformulär vid start" och ställer in formulärets titel:


Sedan, när du kör den resulterande EXE-filen, visas ett leveransformulär av följande formulär i det övre högra hörnet av skärmen:


När du väljer menyalternativet Start (eller klickar på motsvarande knapp nedan), börjar programmet att köras. Efter att ansökan är klar, finns leveransformuläret kvar på skärmen, så att du kan köra programmet flera gånger. För att permanent avsluta applikationen måste du välja menyalternativet "Avsluta" (eller klicka på knappen nedan).

Om ett fel uppstår under exekveringen av en applikation med ett utskickningsformulär, visas information om felet i utmatningsområdet, som normalt är dolt. Till exempel, om du gör det startande S-uttrycket till ett anrop till en icke-existerande funktion (okänd), sedan när den körs visas bilden nedan:


Genom att använda avsändningsformuläret kan du tvångsstoppa ansökan. För att göra detta, använd menyalternativet "Stopp" och knappen som finns nedan (både menyalternativet och knappen är endast aktiva medan programmet körs). Om till exempel beräkningen av faktorn för ett tillräckligt stort antal anges som startuttryck, kan du se menyalternativet och stoppknappen:


Om du trycker på "Stopp" under körningen avbryts programkörningen:


Huvudmenyalternativet "Windows" i avsändningsformuläret (och motsvarande kommandoknapp) kommer att vara aktivt när minst ett grafiskt fönster skapas under programmets körning. När du väljer alternativet "Windows" (eller klickar på knappen som finns nedan), öppnas den grafiska fönsterhanteraren.

Läget för att bygga EXE-filer med ett leveransformulär är avsett att underlätta felsökning av applikationer. Om du inte använder leveransformuläret måste utvecklaren själv hantera de grafiska fönstren, och om applikationen fryser måste han använda OS-uppgiftshanteraren för att ta bort den.

Om du behöver ändra värdet på någon inställningsparameter (stackstorlek, antal tokens etc.), måste du klicka på önskad rad i listan "Parametrar". Det numeriska värdet för motsvarande parameter kommer att överföras till inmatningsområdet under listan:



Som andra exemplet på att skapa en EXE-fil, överväg det tidigare problemet (beräkna GCD), men med ett grafiskt gränssnitt med fönster. För att göra detta, skapa en dialogruta (enligt beskrivningen), i form av vilken vi kommer att placera tre etiketter, tre inmatningsfält och två knappar. Låt oss tilldela en hanterarprocedur till en av knapparna, där vi kommer att beräkna GCD för siffrorna som anges i det första och andra inmatningsfältet och anger det beräknade GCD i resultatfältet. Den andra knappens klickhanterare kommer att stänga och förstöra dialogrutan. Dialogformuläret med kontroller kan se ut som nedan:


Programkoden som genereras av designern kan se ut så här:

(prog noll (dlgCreate "_Dlg_ 419 233 "Största gemensamma divisor:") (dlgAddControl "_Dlg_ "_LBL_1 _LABEL 14 15 100 21 "("Tahoma" 14.25 1 0 0) "0 &0100000000 &010000000"0 &01:0000 AddControl" _Dlg_ " _TXT_1 _TEXT 155 13 248 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 529 "1" 1" 1" 1" 1" 1" 1" 1" 1" 1" 1" d: " 0 &H80000012 &H8000000F ) (dlgAddControl "_Dlg_ "_TXT_2 _TEXT 156 56 247 31 "("Tahoma" 14 1 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ 1 0 0 0) "" 0 &H80000008 &H80000005) (dlgAddControl "_Dlg_ 3 "_L0 BEL1" _L0 BEL 7 "_L01" " 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 &HFF &H800000005Kont. 148 180 50 "( "Tahoma" 8.25 1 0 0) "Beräkna") (dlgPutPicture "_BUT_1 7) (dlgAddControl "_Dlg_ "_BUT_2 _BUTTON 213 149 180 50 "("Tahoma" 8.25 "C lose" 1 3d) "C lose" "C_2d") / // KLICKA händelsehanterare för _BUT_2-knappen // (defun _BUT_2_Click Nil (prog Nil (dlgHide "_DLG_) (dlgDestroy "_DLG_) (gc))) // // Syftet med proceduren -händelser _BUT_2_Klickkontroll _BUT_2 / dlgSetEvent "_BUT_2 "_BUT_2_Click) // // CLICK-händelsehanterare för knappen _BUT_1 // (defun _BUT_1_Click Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (set_txtq a2 (setq a2) ))) (FÖRSÖKA (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2))) UTOM (dlgPutText "_TXT_3 "Fel!!!")))) // // Tilldela händelseproceduren _BUT_1_Klickkontroll _BUT_1 // (dlgSetEvent _BUT_1 "_BUT_1_Click) // // Visar dialogrutan _Dlg_ // (dlgShow "_Dlg_))

För att bygga en EXE-fil måste du ladda en funktion i Lisp-miljön och skriva ett startuttryck för att visa dialogrutan. Det enklaste sättet är att "fördjupa" ovanstående PROG-konstruktion till funktion HUVUDSAK utan parametrar. Då blir det startande S-uttrycket för att köra EXE-filen anropet (huvud). Så, om du laddar in följande funktioner i Lisp-miljön:
// // Hitta den största gemensamma divisorn // (defun *gcd (x y) (cond ((eq x y) x) ((större p y x) (*gcd y x)) ((eq (resten x y) 0) y) ( T (*gcd y (resten x y))))) // // Dialogvisningsprogram _Dlg_ // (defun main nil (prog nil (dlgCreate "_Dlg_ 419 233 "Största gemensamma divisor:") (dlgAddControl "_Dlg_ "_LABEL_1 ) 14 15 100 21 "("Tahoma" 14.25 1 0 0) "Först:" 0 &H80000012 &H8000000F) (dlgAddControl "_Dlg_ "_TXT_1 _TEXT 155 13" 248 3ah1" (148 3ah0" 0" 0" 0" 0" 0" 0 0008 &H80000005) (dlgAddControl "_Dlg_ "_LBL_2 _LABEL 12 59 133 26 "("Tahoma" 14.25 1 0 0) "Andra:" 0 &H80000012 &H8000000F) (dlgAddControl "_TEXT_4Dlg"_TEXT_425" _TEXT_125" _TEXT_125" 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_000_0000DLTCont. 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) "Calculate "_Dlg_ "_BUT_1 _BUTTON 24 148 180 50 "("Tahoma" 8.25 1 0 0) "Calculate" _BUT_2 _KNAPP 213 149 180 50 "("Tahoma" 8.25 1 0 0) "Stäng") (dlgPutPicture "_BUT_2 36) // // KLICKA händelsehanterare för _BUT_2-knappen // (defun _BUT_2_Click Noll (_progHide Noll) (dDLGHide Noll dlgDestroy "_DLG_) (gc)) // // Tilldela händelseproceduren _BUT_2_Click till kontrollen _BUT_2 // (dlgSetEvent "_BUT_2 "_BUT_2_Click) // // CLICK händelsehanterare för knappen _BUT_1 // (defun_Click N_il1 a1 a2) (setq a1 (str2fix (dlgGetText "_TXT_1))) (setq a2 (str2fix (dlgGetText "_TXT_2))) (TRY (dlgPutText "_TXT_3 (fix2str (*gcd a1 a2) )) EXCEPT (lgPutText "ErlgPutText "ErlgPutText" !!!")))) // // Tilldela händelseproceduren _BUT_1_Click till kontrollen _BUT_1 // (dlgSetEvent "_BUT_1 "_BUT_1_Click) // // Visar dialogrutan _Dlg_ // (dlgShow "_Dlg_ )))

och bygg sedan EXE-filen gcd-2.exe genom att ställa in följande parametrar:


Det kommer att lösa sig en fullt fungerande EXE-fil. Du kan köra den och se till att GCD anses rätt:

Vi ska överväga creation.exe med hjälp av py2exe-modulbiblioteket. Detta kräver Python 3.4 och Nedan.

Om du har en högre version av Python installerad, försök att använda (nedan)

I det här exemplet kommer vi att titta på att skapa .exe med ett exempel Python3.4.

Först och främst måste du skapa en virtuell miljö för Python3.4. I det här exemplet kallar vi det myenv. Du kan välja vilket annat namn som helst, men glöm inte att göra lämpliga ändringar.

Skriv följande kommandon på terminalen:

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

I kommandorad prefix visas myenv, vilket innebär att den virtuella miljön med namnet myenv laddas. Alla lag Pytonorm kommer nu att använda den nya virtuella miljön.

Låt oss nu installera py2exe(https://pypi.python.org/pypi/py2exe~~HEAD=dobj) i vår virtuella miljö:

>pip installera py2exe

Och slutligen, för att skapa en enda EXE-fil, kör vi kommandot i vår virtuella miljö:

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

(byta ut hej.py till namnet på ditt manus. Om skriptet finns i en annan mapp måste du använda hela sökvägen till ditt skript, till exempel C:\Projects\Python\hello.py). Detta kommer att skapa en DIST-mapp som innehåller den körbara filen. För att snabbt komma åt den, skriv in terminalen:

> explorer dist

Du kommer att se sökvägen till mappen där EXE-filen finns.

Notera: När det körs öppnas ett fönster och försvinner lika snabbt som det dök upp.
Detta händer pga operativ system stänger automatiskt terminalen där konsolprogrammet är klart.
För att ändra denna situation kan du lägga till raden

> input ("Klicka för att avsluta...")

i slutet av filen Pytonorm. Tolken väntar på användarinmatning och fönstret förblir öppet tills användaren trycker på enter.

Du kan studera användningen i detalj py2exe i dokumentationen på modulsidan: https://pypi.python.org/pypi/py2exe
Att lämna den virtuella miljön görs med kommandot

> avaktivera

Metod 2

Installera pyinstaller via Windows-kommandoraden:

> pip installera pyinstaller

Gå till mappen där filen finns på kommandoraden

CDC:\...

Sedan skriver vi kommandot på kommandoraden

Pyinstaller --onefile example.py

Istället för exempel.py använd namnet på filen som du vill skapa exe-filen från.

På ett par minuter är allt klart! Troligtvis kommer exe-filen att finnas i den skapade undermappen dist


Topp