Pascal programozás Lazarussal. Miért nincs ékezet az írt programban? Mit csináljak hogy legyen?
Pascalban megjelenik az ékezet, megírt (dos-os) programban nem.(á helyett ilyesmit ír: |-í )
Szeptemberben kezdtem tanulni a programozást suliban. A tanár nem tudott válaszolni, de elvileg van neki karakter az ékezetekre, és a lazarusban látszanak is az ékezetek, csak a kész programban nem.
Valakinek ötlet, mit csináljak, hogy jó legyen?
Eddig az ékezet használatát mellőztem. (mellőztük).
De kezd hiányozni az ékezet.. illetve dolgozat lesz (kapunk 3 program leírást.. és nekünk kell rá programot írni..), ha sikerülne ékezeteket is bele tennem, az javíthatna a jegyemen (ugyanis a megvalósítás- és a működés alapján osztályoz).
Van még egy lehetőség a problémád megoldására, de nem 100%-os, ahogy az alábbi Wiki bejegyzésben olvasom:
Tehát a uses után vegyél fel egy
{$IFDEF WINDOWS}
Windows,
{$ENDIF}
bejegyzést, majd a fő program részed begin-je után egy ilyet:
{$IFDEF WINDOWS}
SetConsoleOutputCP(CP_UTF8);
{$ENDIF}
Elviekben megoldja a problémát, de ahogy az a linkelt Wiki oldalon olvasható is, okozhat kavarokat a parancssor működésében.
Köszönöm, de nem jó. :(
programv1 Fatal: Syntax error, "BEGIN" expected but "identifier WINDOWS" found.
Szerintem jól csináltam..
(a sorok törlése/visszaállíátsa után a program működik)
Így néz ki a sorok beillesztése után:
(ez még csak egy gyakorló program.. és a "goto" parancsért ne szóljatok be.. tudom, hogy nem helyes, de még csak nemrég kezdtem..)
Program matekmuveletek;
Uses Crt;
Windows,
{$ENDIF}
Label 1;
Var Sel: String;
a,b,c,d : real;
YN : Char;
nev:string;
Begin
{$IFDEF WINDOWS}
SetConsoleOutputCP(CP_UTF8);
{$ENDIF}
1:Clrscr;
textcolor(11);
c:= 0;
GotoXy(4,3);
Writeln('1.Osszeadás ');
textcolor(10);
GotoXy(4,4);
Writeln('2.Kivonas ');
textcolor(13);
GotoXy(4,5);
Writeln('3.Szorzas ');
textcolor(14);
GotoXy(4,6);
Writeln('4.Bennfoglalas ');
textcolor(12);
GotoXy(4,7);
Writeln('5.Kilepes ');
textcolor(15);
GotoXy(6,8);
Writeln('Kivalasztas: ');
Writeln(' ');
Writeln(' ');
textcolor(1);
Writeln(' By: J.V.A.');
textcolor(15);
Sel := Readkey;
If Sel = '1' then
Begin
ClrScr;
Write('1. szam: ');
Readln(a);
Write('2. szam: ');
Readln(b);
c:= a + b;
Writeln('Osszeadas: ',a:0:0,' + ',b:0:0,' = ',c:0:0);
Write('Nyomj ENTERT a folytatashoz...');
Readkey;
Goto 1;
End;
If Sel = '2' then
Begin
ClrScr;
Write('1. szam: ');
Readln(a);
Write('2. szam: ');
Readln(b);
c:= a - b;
Writeln('Kivonas: ' ,a:0:0, '-' ,b:0:0, '=' ,c:0:0);
Write('Nyomj ENTERT a folytatashoz...');
Readkey;
Goto 1;
End;
If Sel = '3' then
Begin
ClrScr;
Write('1. szam: ');
Readln(a);
Write('2. szam: ');
Readln(b);
c := a * b;
Writeln('Szorzas: ' ,a:0:0, 'x' ,b:0:0, '=' ,c:0:0);
Write('Nyomj ENTERT a folytatashoz...');
Readkey;
Goto 1;
End;
If Sel = '4' then
Begin
ClrScr;
Write('1. szam: ');
Readln(a);
Write('2. szam: ');
Readln(b);
d := a / b;
Writeln('Bennfoglalas ' ,a:0:0,' / ',b:0:0,' = ',d:0:2);
Write('Nyomj ENTERT a folytatashoz...');
Readkey;
Goto 1;
End;
If Sel = '5' then
Begin
ClrScr;
Write('Biztos?(Igen/Nem)');
YN := Readkey;
If YN = 'i' then Halt;
If YN = 'n' then Goto 1;
//Készítette: J.Viktor//
End;
End.
XP-n kipróbáltam, ott nem igazán működött jól ez a megoldás, de hibásan is vetted fel a Windows unitot a uses után. Próbáld ki, hogy így megy e neked: [link]
Eljárásokat és függvényeket nem tanultatok még? Azok segítségével szebben is meg lehet oldani a menüzést és az egyes műveletek elvégzését.
Köszi mindenkinek a fáradozást!
Sajnos ugyan az, mint előtte..
A program működik, de ékezet nincs.
Win7x64)
Na, közben megvilágosodtam :). Megoldható a probléma pár kattintással. Nyomni kell egy jobb klikket a szerkesztő ablakában (lazarus 1.0 esetében), vagy a szerkesztő ablakban azon a fülön, ami a program nevét mutatja. A listában ki kell választani a File Settings menüpontot, majd azon belül az Encoding menüpontot és az alatt a szükséges kódolást (CP852, vagy ha ez nincsen akkor CP850), majd a felbukkanó ablakban a Change File gombra kattintani. Ezt követően lefordítva a programot már a helyes karakterkódolással mutatja a kiírt szöveget. (mellékelek egy videót arról, amit most itt röviden leírtam, ez linux alatt készült, de windowson is így működik). Videó itt: [link]
És itt a program eljárással és függvénnyel megoldva is, hogy lásd, így valamivel kevesebbet kell gépelni. Szerintem legalább is rövidebb: [link]
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!