Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet átmeneteket...

Hogyan lehet átmeneteket csinálni pascalban a programok között?

Figyelt kérdés
A problémám az hogy a programjaimon belül nagyon sok változót kell használnom és nem akarom az összes programot egybe sűríteni hanem külön-külön írom meg őket.És itt jön a képbe az hogy nemtudom hogyan lehet a menüből megnyitni a számológépemet.Például megnyitom a kész menüprogramot onnan ha megnyomom az 1-est readkey beolvassa char-ba utána case-el eltárolok egy számot mondjuk egy boolean tipusú változóba és feltétellel meg if t=true then open ..... úgy kellene hogy közvetlen felismerje a fájlrendszert és abban a mappában amiben tárolva van ott keresné a fájlt.Mindegy hogy exe vagy pas innentől már meg tudnám oldani.A válaszokat előre is köszönöm!

2012. okt. 26. 19:51
 1/7 ejbenjaro ***** válasza:

Nem igazán értem a problémádat. Lényegében a saját programodból szeretnél meghívni másik programot? Erre van lehetőség. Turbo Pascal esetében a dos unitban van egy exec nevű eljárás, amit a swapvectors eljárással karöltve szoktak használni.

Free Pascal esetén objektumorientált módon a TProcess segítségével futtathatsz egy külső programot a saját programodból.

Nem tudom mennyi az a nagyon sok változó, amit használnod kell, de nyilván hallottál róla, hogy a Pascal nyelvben létre lehet hozni unitokat. Ha ilyen különálló unitokba szervezed ki azokat a dolgokat, amelyek most külön programok, akkor nem kell egyik programból a másikat hívogatni, csak a unitokon keresztül meghívható eljárásokat és függvényeket. Így kényelmesebben tudod átadni az egyes változók értékét az alprogramjaidnak.

2012. okt. 26. 20:34
Hasznos számodra ez a válasz?
 2/7 tabaki ***** válasza:

Szerinted van értelme annak, amit írtál? Például: CASE utasítással *tárolsz*? Egy *számot* BOOLEAN -változóban?

Amúgy az egész úgy zavaros, ahogy van.

Ha nem kamukérdés, akkor kissé gondold át a dolgot.

2012. okt. 26. 20:35
Hasznos számodra ez a válasz?
 3/7 tabaki ***** válasza:

Aha, így kezd körvonalazódni előttem is, miről lehet szó... Free Pascalról beszélünk? Érdekes lehet számodra a WINDOW() utasítás, amellyel egy programon belül, de külön ablakokban kezelheted az alprogramokat.


[link]

2012. okt. 26. 20:46
Hasznos számodra ez a válasz?
 4/7 tabaki ***** válasza:
Ha meg ragaszkodsz a külön progikhoz, akkor igen, EXEC().
2012. okt. 26. 20:48
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
a case a gombokra vonatkozik pl 'k': goto v; ez pl kilép a programból mert címkézve van.azaz nekem így van hogy c:= readkey; és utána case c of..a boolean meg a feltételekre van a menüben...am integerre is meg tudtam csinálni csak valahogy a booleant szoktam meg...köszönöm a kimerítő válaszokat és kipróbálom az unitos megoldást,neked megy a zöld kacsó...
2012. okt. 26. 21:22
 6/7 tabaki ***** válasza:
GOTO? brrrrr...
2012. okt. 26. 21:42
Hasznos számodra ez a válasz?
 7/7 ejbenjaro ***** válasza:
Igaza van tabakinak, a GOTO használata kerülendő, mert átláthatatlanná teszi a programot. Nem is értem miért tanítják. Javaslom a GOTO helyett is a függvények és eljárások használatát. Itt [link] láthatsz egy példát menüre, ami függvényből megy és a menüpont kiválasztása után egy eljárást hív meg, ami megnyit és a képernyőn megjelenít egy szövegfájlt.
2012. okt. 26. 22:17
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!