Problém s ukončováním – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problém s ukončováním – Pascal – Fórum – Programujte.comProblém s ukončováním – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Minatory0
Newbie
22. 10. 2007   #1
-
0
-

Předem se omlouvám jestli tady už něco na toto téma bylo.



Program Vypis;
uses crt;
begin
textcolor(white);
clrscr;
readkey;
end.

Procedure press;
begin
textcolor(red+blink);
writeln("Bla bla bla bla bla - no proste neco");
textcolor(white);
readkey;
end.


Mám to podle http://programujte.com/index.php?akce=clanek&cl=2007021903-programovani-v-praxi-1-dil správně? Nic to nevypíše. Jen se objeví okno, ale prázdné.

Nahlásit jako SPAM
IP: 85.13.72.–
Reklama
Reklama
Laaca
~ Anonymní uživatel
225 příspěvků
22. 10. 2007   #2
-
0
-

Máš to špatně. Na kód za end. se překladač nikdy nedostane. Pascal tedy vidí jenom:



Program Vypis;
uses crt;
begin
textcolor(white);
clrscr;
readkey;
end.

Tudíž se jenom smaže obrazovka a čeká na klávesu.

Nahlásit jako SPAM
IP: 195.113.79.–
Minatory0
Newbie
22. 10. 2007   #3
-
0
-

OK. A jak mám tedy spustit další část? Zkoušel jsem end. odmazat, ale to nejde. Zkoušel jsem to dát i pod stejné begin-end, ale to je také špatně..

Nahlásit jako SPAM
IP: 85.13.72.–
22. 10. 2007   #4
-
0
-

To co řekl Laaca je správně, chtěl bych jenom dodat, že správný kód potom je



Program Vypis;

uses crt;

Procedure press;
begin
textcolor(red+blink);
writeln("Bla bla bla bla bla - no proste neco");
textcolor(white);
readkey;
end;

Begin
textcolor(white);
press;
clrscr;
readkey;
end.

To znamená, že za endem, který je v proceduře musíš udělat středník, neb tečka se píše až za endem hlavního programu, tečka prostě ukončí běh celého programu. Pak je tam taky problém s celou procedurou - podprogramy (procedury, funkce...), uvozené slůvky Procedure nebo Function se píší vždy před hlavní program. A nakonec ještě jsi zapomněl v tom hlavním programu tuto funkci zavolat.

Jen pro jistotu, hlavní program je toto:


Begin
textcolor(white);
clrscr;
readkey;
end.

a ten udělá to, že nastaví barvu textu na bílou, smaže obrazovku a počká na stisk klávesy. Zapomněl jsi zde volat proceduru


Procedure press;

Begin
textcolor(red+blink);
writeln("Bla bla bla bla bla - no proste neco");
textcolor(white);
readkey;
end;

, což se dělá pomocí napsání názvu té procedury do hlavního programu, tady "press".

Nahlásit jako SPAM
IP: 83.240.1.–
Podpis: Do podpisu nelze vložit obrázky ani HTML kód. Je podporován nový řádek tagem
.
Minatory0
Newbie
22. 10. 2007   #5
-
0
-

Ale mám tu jiný problém. Nějak blbnou uvozovku. Komiplátor je považuje za ilegální charakter :) Jsou použity jen u textu.

Nahlásit jako SPAM
IP: 85.13.72.–
22. 10. 2007   #6
-
0
-

To Minatory : Jasně. Uvozovky do Pascalu nepatří. Tady se píší apostrofy (zkratka je alt+39).

Nahlásit jako SPAM
IP: 83.240.1.–
Podpis: Do podpisu nelze vložit obrázky ani HTML kód. Je podporován nový řádek tagem
.
Minatory0
Newbie
22. 10. 2007   #7
-
0
-
Nahlásit jako SPAM
IP: 85.13.72.–
Minatory0
Newbie
22. 10. 2007   #8
-
0
-

Mám tady další problém. Napíše mi to, že program exited with exitcode = 2

Program Vypis;


uses crt;
var jmeno:text;
procedure press;
begin
textcolor(red+blink);
writeln('prostenejakytext');
textcolor(white);
readkey;
end;
procedure soubor;
Begin
assign(jmeno,'text.txt');
append(jmeno);
end;

procedure ulozit;
begin
soubor;
close(jmeno);
end;

Begin
clrscr;
textcolor(white);
press;
clrscr;
writeln('Jmenuji se Štěpán Pazderka');
writeln('Je mi ',17,' mému otci je ',45,' společně je nám ',45+17);
writeln('Pro ukončení programu stiskněte ENTER');
ulozit;
readkey;
end.

Nahlásit jako SPAM
IP: 85.13.72.–
Mircosoft+1
Věrný člen
22. 10. 2007   #9
-
0
-

Nevím, jestli se náhodou Append nepoužívá jenom na již existující soubory (pokud text.txt ještě neexistuje, radši použij Rewrite).

Ještě bych měl pár připomínek:
- Procedura Soubor soubor otevře. Procedura Ulozit ho tedy jenom otevře a zavře (předpokládám, že tam ještě doplníš nějaký příkaz pro uložení něčeho do toho souboru). Každopádně je zbytečné to dělit do dvou procedur - zhoršuje to přehlednost.
- Máš tam zbytečně mockrát textcolor(white).
- writeln('Pro ukončení programu stiskněte ENTER'); - proč? Readkey přečte cokoli, ne jenom enter. Jestli chceš čekat na enter a nic jiného, tak použij Readln;.

Nahlásit jako SPAM
IP: 89.176.249.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Minatory0
Newbie
22. 10. 2007   #10
-
0
-

Jo dík. Dneska jsem začal. Vlastně se snažím cokoliv pochopit z těch článků s příklady :) O souboru vím jen to, že bych chtěl, aby se vytvořit TXT soubor a do něj něco zapsalo. Nezná na to někdo nějakou funkci?

Nahlásit jako SPAM
IP: 85.13.72.–
22. 10. 2007   #11
-
0
-

Jo, používá se Write(soubor). Ale jestli chceš pracovat se souborama, pořádně si to pročti, je toho víc, co bys' měl vědět, než se pustíš do operací s nimi.

Nahlásit jako SPAM
IP: 83.240.1.–
Podpis: Do podpisu nelze vložit obrázky ani HTML kód. Je podporován nový řádek tagem
.
Minatory0
Newbie
22. 10. 2007   #12
-
0
-

A nemáš nějaký odkaz? :)

Nahlásit jako SPAM
IP: 85.13.72.–
Mircosoft+1
Věrný člen
22. 10. 2007   #13
-
0
-
Nahlásit jako SPAM
IP: 89.176.249.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
tucna0
Návštěvník
23. 10. 2007   #14
-
0
-

Já bych ti především doporučil studovat pořádné tutoriály a ne takové braky (viz. tvůj první příspěvek)

Nahlásit jako SPAM
IP: 195.113.111.–
Laaca
~ Anonymní uživatel
225 příspěvků
23. 10. 2007   #15
-
0
-

Přihřeju si vlastní polívčičku:
vyčerpávající, srozumitelný, dobře napsaný a hlavně můj :-) návod na práci se soubory v pascalu je tady:
http://www.int21h.ic.cz/?id=85

Nahlásit jako SPAM
IP: 195.113.79.–
micro.210
Návštěvník
4. 11. 2007   #16
-
0
-

urcite si prostuduj tohle http://pascal.webz.cz/ z toho jsem se naucil vse co je potreba zakladem vedet o pascalu. Je to dost dobre napsane ja se to z toho bez problemu naucil kdyz mi bylo 14.

Nahlásit jako SPAM
IP: 84.244.85.–
Let me die happier..
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

Problém — založil Jano

Problém s TP — založil kodooo

Problem s IF — založil Pepa Rohlik

Problém — založil Trumpetka

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý