- Samsung Galaxy A54 - türelemjáték
- Android alkalmazások - szoftver kibeszélő topik
- Okosóra és okoskiegészítő topik
- Milyen okostelefont vegyek?
- Apple Watch Sport - ez is csak egy okosóra
- Samsung Galaxy A55 - új év, régi stratégia
- A Vivo X300 Ultra lehet az első telefon két 200 MP-es kamerával
- Nothing Phone (3) – tervezett kaotika
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
Új hozzászólás Aktív témák
-
N!tRo
tag
válasz
nickwearby #2199 üzenetére
nem tetszik neki a szemely tipusu visszateresi ertek
esetleg okosabbak lennenk ha az egesz kodot ideirnad -
nickwearby
tag
Üdv,
ezen az oldalon talált leírásokat tanulmányozom,
és az itt leírt programmal valami nem kóser.A Record típus
program record_tipusok;
kezdetű programot írtam be a turbo pascalba,
de amikor a compile parancsra kattintok,
kiírja, hogy
error 34: invalid function result type.És a kurzort ennek a sornak a végére teszi:
function beolvas:szemely; /idézet a linkelt weblapról/.Leellenőriztem, és úgy írtam be mindent, ahogy a linkelt siteon volt.
De annyira még nem értek hozzá, hogy ki tudjam javítani a hibát.
Valaki tudna ebben segíteni?
Kösz szépen előre is:
Nick
-
Gyuri16
senior tag
-
szandisas
őstag
egyik ismerősöm kapott egy ilyen házit:
Gyűjtsön a valós élet különböző területeiről – különböző tevékenységek esetében előforduló – ismétlődésekre 15 példát. A tizenöt példa megoszlása a következő legyen:
5 példa a növekményes ciklusokra
5 példa az elöltesztelős ciklusokra
5 példa a hátul tesztelős ciklusokraA példákat ne számítástechnikai területről válassza, hanem az életben előforduló tevékenységekből, szituációkból!
ilyeneket tud valaki?
-
nickwearby
tag
Kösz a válaszokat
-
N!tRo
tag
válasz
nickwearby #2187 üzenetére
még "legegyszerűbben":
gotoxy
-
Lortech
addikt
válasz
Clairvoyance #2186 üzenetére
Mert ez nem így működik, intervallumot nem lehet megadni esetnek.
Szerk: mégsem ez a baj, hanem vsz. a longint. Freepascalnál működik longintre is nagy számokkal. -
N!tRo
tag
válasz
Clairvoyance #2186 üzenetére
en beleneznek abba a helpbe es megvizsgalnam, hogy a case-nek milyen adattipusokat lehet megadni. annyit tudok hogy integer meg char az mukodokepes, de hogy a longint-et kepes-e kezelni, az mar nem olyan biztos
a neten 5 perc alatt nem talaltam erre a kerdesre valaszt, pascalom meg nincs -
mm00
aktív tag
válasz
nickwearby #2187 üzenetére
Csak a karaktersor első betűjét told el!
-
nickwearby
tag
Hello, bocs az előző hozzászólótól, hogy rögtön utána írom.
Olyan kérdésem lenne, hogy ha for ciklussal iratok ki egy karaktersort,
akkor lehet-e olyasmit csinálni, hogy a beírt sort tolja el?Kipróbáltam a cikluson belül ezt beírni: write(akármi:akármi+10)
de ezzel minden karaktert egyenként eltol 10-el.Szóval lehet-e azt megoldani, hogy az egész sort egyben tolja el ennyivel?
Előre is kösz a választ.
-
Clairvoyance
csendes tag
Lenne egy kezdő problémám (illetve mondjuk úgy "újrakezdő'):
program fizetes;
uses crt;
var osszeg:longint;
begin
clrscr;
writeln('Irjon be egy penzosszeget, kiderul mekkora a fizetese!');
readln(osszeg);
gotoXY(5,5);
if osszeg>0 then
case osszeg of
1..60000 : write('Nagyon kis fizetes');
60001..100000 : write('Alacsony fizetes');
100001..150000 : write('Atlagos fizetes');
else write('Magas fizetes');
end;
if osszeg<0 then writeln('Hulye');
end.Ez lenne a program. Ha itt futtatni akarom a programot, akkor a 60000 után azt írja, kis, h constant CASE out of range. Pedig longint-et használok, akkor nem szabadna már 60000-nél azt reklamálnia, h nagyobb a szám, mint kéne, nem? Másik az, hogy a hiba súgójában is azt írja, hogy 65535-nél nem lehet nagyobb. A 60000 sztem még kisebb, mint 65535, nemtom ti hogy vagyotk vele.
Ha átírom 6000-ra akkor nicns baja. Ötlet? -
T_bee
aktív tag
válasz
nickwearby #2183 üzenetére
szia
a program végére (közvetlenül az end. elé) beteszel egy Readln() utasítást, és így fordítod le. Ekkor a program lefut, majd míg nem nyomsz entert, a dosos ablak megmarad, így megnézheted mit alkottál -
nickwearby
tag
helló,
egy más jellegű kérdést szeretnék most feltenni, szintén turbo pascal,
de most arra vonatkozna, hogy a jól megírt, futtatható programokat meg tudom-e nézni úgy, hogy ne csak a pillanat töredékére felvillanó dos ablak látszódjon,
hanem mondjuk maradjon megnyitva.Lehet ilyet csinálni?
Ha igen, hogyan?Kösz a választ előre is.
Nick
-
[HUN]Zolee
őstag
válasz
zvaragabor #2180 üzenetére
ha a kiiratós rész if-hez egy else ágba odaírod hogy nem adott meg számokat, akkor még szép is, mert így most, ha kapsából 0 üttsz akkor kilépés nem ír ki semmit
-
zvaragabor
senior tag
válasz
RoyalFlush #2178 üzenetére
Jah értem. Megnézem akkor a kódokat. Köszi.
-
ttower
aktív tag
válasz
nickwearby #2174 üzenetére
options->directories->mindet állítsd ami nálad a tp mappája
-
RoyalFlush
őstag
válasz
zvaragabor #2177 üzenetére
0 megadását követően nem fut le többször az adott ciklus.
A fórumtárs által megírt kódba (de az enyémbe is) kezelve van, hogy nullával ne történjen osztás .. Magyarul ha már az első megadott szám a 0, nem fognak az adott programrészben található parancsok végrehajtódni. -
zvaragabor
senior tag
válasz
RoyalFlush #2176 üzenetére
Erre gondolsz?
"Mondjuk illett volna, ha már azt találta ki, hogy 0 megadását követően lépjen ki a program"Mert még nem vettünk olyat, hogy kilép egy adott valaminél.
-
RoyalFlush
őstag
válasz
zvaragabor #2175 üzenetére
Meg van oldva a házi feladat is
-
zvaragabor
senior tag
Igen, ismert hiba volt a 0-val való művelet a tanár részéről is, de azt mondta, hogy jól van ez egyenlőre. Azt adta házinak, hogy oldjuk meg ezt a hibát.
-
nickwearby
tag
Arra még rájöttem, hogy az a directory, amit a compile parancsnál ír nem egyezik azzal, amit megadtam,
sőt nem is fog, mert a gépemen nincs c: meghajtó....íme a TP-ben beállított directory:
és ez a compile parancs által kért directory
Abszolút kezdő vagyok, meg tudná valaki mondani, hogy változtathatom meg a compile parancs által igényelt C:\Program files\tp\ célmappát, hogy ne dobja ki ezt a hibaüzenetet?
Kösz előre is.
-
RoyalFlush
őstag
válasz
[HUN]Zolee #2172 üzenetére
Division by Zero hibaüzenettel a program leáll
Valószínű, nem vette számításba ezt a lehetőséget .. Mondjuk illett volna, ha már azt találta ki, hogy 0 megadását követően lépjen ki a program
-
[HUN]Zolee
őstag
válasz
zvaragabor #2167 üzenetére
Hát a tanár se akart túl jó progit írni, mert ha kapásból 0 ütsz be akkor szépen az átlagnál 0 val szeretne osztani, ami ugye még nem igazán megy
-
ttower
aktív tag
válasz
nickwearby #2168 üzenetére
érvénytelen a filenév
[L:ide írjuk a linkelni kívánt url-t]ide a megjelenő szöveget[/L]
[L: http://kepfeltoltes.hu/080401/hibauzenet_www.kepfeltoltes.hu_.jpg]és ez jelenik meg[/L]
és ez jelenik meg
-
RoyalFlush
őstag
válasz
zvaragabor #2167 üzenetére
Az alsó vonalnak nincs különösebb szerepe, leginkább csak annyi hogy elválasztja a két szót, legkisebbdb helyett legkisebb_db.
-
nickwearby
tag
Sziasztok,
Azért írom ide, mert a googleban nem találtam rá megoldást.
Turbo Pascal 7.0 használatát kezdtem el tanulni,
és egy egyszerű programot írtam be
innen: http://www.prog.hu/cikkek/330/Alapok/oldal/2.html
ezt :
program legelso;
BEGIN
Write('Rendben');
END.
A problémám az, hogy amikor a compile parancsot kiadom,
ezt a hibaüzenetet adja:
http://kepfeltoltes.hu/080401/hibauzenet_www.kepfeltoltes.hu_.jpgMi lehet a probléma?
A segítséget előre is köszönöm.
-
zvaragabor
senior tag
Nah megjöttem, a program házi volt, mára kellett, tegnap meg már feküdtem, mire jöttek az újabb segítségek.
#2613 volt a legközelebb az elképzeléshez. Amúgy ezt az alsó vonalat nem ismerem, még nem vettük: _ #2162-nél kitörte volna a tahár a nyakát mire átlátná.
Szóvl tanárral órán ezt dobtuk össze:
program szamok;
uses wincrt;
var osszeg,db,n,sorszam,legkissebb:byte;
atlag:real;
begin
clrscr;
osszeg:=0;
db:=0;
legkissebb:=255;
sorszam:=0;
repeat
write('Kérem a számot: ');
readln(n);
osszeg:=osszeg+n;
db:=db+1;
if (legkissebb>n) and (n<>0) then begin
legkissebb:=n;
sorszam:=db;
end;
until n=0;
db:=db-1;
atlag:=osszeg/db;
writeln('A számok összege: ',osszeg);
writeln('A számok átlaga: ',atlag:5:2);
writeln('A legkisebb szám a(z) ',legkissebb);
write('és a bekérés sorszáma: ',sorszam);
end.De mindannyiótoknak köszönöm szépen a segítséget! ;) Lesz még rátok szükségem.
-
alitak
senior tag
válasz
[HUN]Zolee #2163 üzenetére
atlag:=0;
Ez felesleges.
-
RoyalFlush
őstag
válasz
[HUN]Zolee #2163 üzenetére
Jah elég kusza, de felidézve dolgokat, este ennyire futotta
Gondoltam majd ma egyszerűsítek rajta, de megtetted te. thx
-
[HUN]Zolee
őstag
válasz
RoyalFlush #2162 üzenetére
Kicsit sok az elágazás a programodba
Olyan excel-esen oldottad meg, ott kell mindig foglalkozni azzal hogy ha csak 1 érték van az adott tartománybaprogram szamok;
uses crt;
var n,osszeg,db,legkisebb,legkisebb_db,sorszam:real;
begin
clrscr;
osszeg:=0;
atlag:=0;
db:=0;
legkissebb:=0;
repeat
writeln('Kérem a számot: ');
read(n);
if n<>0 then
begin
osszeg:=osszeg+n;
db:=db+1;
if legkisebb>n then
begin
legkisebb=n ;
legkisebb_db=db;
end;
end;
until n=0;
if db>0 then
begin
writeln('A számok összege: ',osszeg);
writeln('A számok átlaga: ',osszeg/db);
writeln('A legkisebb szám a(z) ',legkissebb);
write('és a bekérés sorszáma: ',sorszam);
end;
end. -
RoyalFlush
őstag
válasz
zvaragabor #2159 üzenetére
A kód (bár lehet kissé túlbonyolítottam - vagy 6 éve nem programoztam Pascalban
- ettől függetlenül szerintem műxik):
program szamok;
uses crt;
var
szam, n, db, osszeg, legkisebb: integer;
atlag: real;
begin
clrscr;
szam := 0;
n := 0;
db := 0;
osszeg := 0;
legkisebb := 0;
repeat
write('Kerem a szamot: '); readln(szam);
osszeg := osszeg + szam;
if (n = 0) then
begin
legkisebb := szam;
db := 1;
end;
if (szam <> 0) and (n > 0) then
begin
if (szam < legkisebb) then
begin
legkisebb := szam;
db := n + 1;
end;
end;
n := n + 1;
until (szam = 0);
writeln;
writeln('Szamok osszege: ',osszeg);
writeln('Legkisebb a(z) ',legkisebb,', a(z) ',db,'. bekert szam volt.');
if (n <> 1) then
begin
atlag := osszeg / (n - 1);
writeln('Atlag: ',atlag);
end;
if (n = 1) then writeln('Atlag: Nem ertelmezheto!');
readln;
end. -
[HUN]Zolee
őstag
válasz
zvaragabor #2159 üzenetére
Az until és a db megnövelése közé.
Lehet nem pontosa a kód, mert már 1-2 éve nem láttam pascal-t
Amúgy ebbe a felállásba ahogy a txt van az átlag változód feleslegessé váltHibásan számolja az átlagot, ez így ki, mert ha 0-t ütsz akkor is megnöveli a db számot 1-el.
repeat
writeln('Kérem a számot: ');
read(n);
if n<>0 then
begin
osszeg:=osszeg+n;
db:=db+1;
if legkissebb>n then
begin
legkissebb=n ;
legkissebb_db=db;
end;
end;
until n=0;Valami ilyesmire gondoltam.
-
zvaragabor
senior tag
Na eddig ott vagyok, hogy ITT vagyok, nem annyira akar menni.
#2156 Ezt hova kellene írnom? -
shev7
veterán
válasz
zvaragabor #2154 üzenetére
es atlagot sem igy szamolunk
hanem majd a vegen...
-
[HUN]Zolee
őstag
válasz
zvaragabor #2154 üzenetére
if legkissebb>n
then
begin
legkissebb=n ;
legkissebb_db=db; /ha a db változó megnövelése után írod be/
end; -
RoyalFlush
őstag
válasz
zvaragabor #2154 üzenetére
Ok, mindjárt megnézem (megírom), de én nem így csinálnám meg
-
zvaragabor
senior tag
Üdv. Volna egy olyan feladat, hogy:
0 végjelig kérek be számokat. Kiíratom a számok összegét, az átlagukat, és hogy melyik volt a legkisebb bekért szám, valamint ezt hanyadiknak kértem be. Eddig jutottam ell, itt megállt a tudományom, hibát ír ki:program szamok;
uses wincrt;
var n,osszeg,atlag,db,legkissebb,sorszam:integer;begin
clrscr;osszeg:=0;
atlag:=0;
db:=0;
repeatwriteln('Kérem a számot: ');
read(n);osszeg:=osszeg+n;
db:=db+1;
atlag:=atlag+n/db;
until n=0;writeln('A számok összege: ',osszeg);
writeln('A számok átlaga: ',atlag);
writeln('A legkisebb szám a(z) ',legkissebb 'és ez ',sorszam '-nak-nek lett bekérve');
end.Tudnátok segíteni?
-
Panther45
csendes tag
Sziasztok!
Csak vagy 2-3 kérdésem lenne!
(* pwtitkos.pas *)
program pwtitkos;
uses crt;{ Sztringet jelsz˘val titkosˇt˘ elj r s
bemen“ param‚terek: kulcs - a jelsz˘
forras - az eredeti v. titkosˇtott sz”veg
kimen“ param‚ter : eredmeny - a m–velet eredm‚nye
}
{$R-}
procedure titkosit(kulcs, forras: string; var eredmeny: string);
var
fix : integer;
px, { jelsz˘ index }
fx { forr s index } : byte;
chkod : byte;
begin
fix := length(kulcs) * 1996;
fx := 1;
px := 1;
eredmeny[0]:=forras[0];
repeat
chkod := ord(forras[fx]) xor ord(kulcs[px]) xor fix;
eredmeny[fx] := chr(chkod);
inc(fx);
inc(px);
if px > length(kulcs) then px := 1;
until fx > length(forras);
end;var
kulcs,
eredeti,
titkos,
nemtitkos : string;begin
clrscr;
eredeti := 'Programozzunk Turbo Pascal nyelven!';
kulcs := 'ComputerBooks';titkosit(kulcs, eredeti, titkos);
writeln('Az eredeti sz”veg : ', eredeti);
writeln('A k˘dolt sz”veg : ', titkos);titkosit(kulcs, titkos, nemtitkos);
writeln('A visszak˘dolt sz”veg : ', nemtitkos);
writeln;kulcs := 'Programozzunk Turbo Pascal nyelven!';
titkosit(kulcs, eredeti, titkos);
writeln('Az eredeti sz”veg : ', eredeti);
writeln('A k˘dolt sz”veg : ', titkos);titkosit(kulcs, titkos, nemtitkos);
writeln('A visszak˘dolt sz”veg : ', nemtitkos);
writeln;
eredeti := 'ComputerBooks';
kulcs := 'Programozzunk Turbo Pascal nyelven!';
titkosit(kulcs, eredeti, titkos);
writeln('Az eredeti sz”veg : ', eredeti);
writeln('A k˘dolt sz”veg : ', titkos);titkosit(kulcs, titkos, nemtitkos);
writeln('A visszak˘dolt sz”veg : ', nemtitkos);readln;
end.Ez lenne a programom...
Van benne ilyen hogy "fx,px" ezek mire jók?
Meg azt nem értem még hogy miért van benne az eredeti szöveg után a KULCS?
Ez miért van?
Csak ennyit szeretnék,köszönöm !!! -
ITI93
csendes tag
most meg ez a baja (RUN)-nál:Error 89:">" expected
-
ITI93
csendes tag
Hi All!
A TP tanulásnak még nagyon az elején vagyok és megakadtam.Beírok mindent amit akarok nincs hiba,és semmi baj,csak az hogy mikor elakarom inditani(run)akkor nem csinál semmit.
Próbálkoztam átalakitani exe-be de ez sem segített.Lécci mondjátok el hogy mi a f*sztcsinálok rosszul!
HELP ME PLEASE!!
-
ttower
aktív tag
válasz
ViTToRe #2139 üzenetére
itt a forráskód hogy más is tanulhasson:
(nem biztos hogy a legjobb, de működik)uses crt;
var s:string; {a beadott szöveg}
c_s:string; {a kódolt szöveg}
c:char; {a billentyűzetről beolvasott karakter}
p:byte; {a kurzor pozíciója}
hany:byte; {eltolandó karakterszám}
function cesar(s:string; hany:byte):string;
var loop:byte;
eltolando:byte;
uj:byte;
begin
for loop:=1 to length(s) do
if s[loop] in [#65..#90,#97..#122] then {megnézi hogy az adott karakter betű-e}
begin
eltolando:=hany mod 25; {eltolja a betűket}
uj:=ord(s[loop])+eltolando;
if uj=91 then uj:=65;
if uj=123 then uj:=97;
s[loop]:=chr(uj);
end;
cesar:=s; {funkció visszatérési értéke az új string}
end;
begin
clrscr;
writeln ('Hány karakterrel tolja el a szöveget?');
readln (hany);
clrscr;
p:=1;
repeat
c:=readkey; {beolvas egy karaktert a billentyűzetről}
if c<>#13 then {ha nem enter akkor lefut a kiértékelés}
begin
if c in [#32..#90,#97..#122] then {ha nem speciális karater, bekerül a szövegbe}
begin
insert (c,s,p);
inc(p);
end;
if c=#8 then {ha backspace, törli a karaktert}
begin
s:=copy (s,1,p-2)+copy (s,p,length(s));
if p>1 then dec (p);
end;
if c=#0 then {ha a karakter #0 akkor megnézi mi a második része}
begin
c:=readkey;
case c of
#75: if p>1 then dec(p); {ha a jobbra nyíl a kurzor jobbra megy}
#77: if p<length(s)+1 then inc(p); {ha a balra nyíl a kurzor balra megy}
#83: s:=copy (s,1,p-1)+copy (s,p+1,length(s)); {ha delet törli a karaktert}
end;
end;
clrscr; {törtli a képernyő tartalmát}
gotoxy (1,1); {a kurzort a jobb felső sarokba állítja}
writeln (s); {szöveg kiírása}
gotoxy (1,2); {a kurzort második sor elejére állítja}
writeln (cesar(s,hany)); {a kódolt szöveg kiírása}
gotoxy (p,1); {kurzor pozícionálása}
c:=#255;
end;
until c=#13; {kilépés ha entert ütöttünk le}
end. -
ViTToRe
aktív tag
Sziasztok.
Mondhatni kezdő programozó vagyok, ezért gondoltam segítséget kérek itt a fórumon.
Nos a feladat az a Caesar kód lenne, vagyis beírsz egy szöveget, és egy eltolt abc vel lefordítja.
Kinek milyen ötlete lenne ? Hogyan kezdjem el ?
Előre is köszi -
Gyuri16
senior tag
szia, kicsit reszletesebben ird le, hogy mit sikerult eddig megcsinalnod, es hol akadtal el, szivesen segitunk.
gondolom a jatektablat egy ketdimenzios tombben tarolod, ami alapjan kiiratod (text mod vagy grafikus?)
a veletlen fuggvenyednek szinten a tombbe kell elhelyeznie a hajokat, ugy hogy azok ne erintkezzenek. ezt egyszeruen megcsinalhatod ugy, hogy generalsz random koordinatat, es megprobalod oda tenni a hajodat (elforgatva, es mozgatva). ha nem megy, akkor generalsz masik szamot. -
siya
csendes tag
Sziasztok, NAGYON KEZDŐ programozó vagyok
Egy torpedóhoz kéne 10*10-es rács, úgy, hogy közötte a mezőkkel lehessen dolgozni(elrejteni rajta hajót, rátippelni, ellenőrizni, hogy van-e).
Meg olyan véletlenszerű függvény, amivel adott méretű, de változó alakú hajókat lehet elrejteni a táblán.
Van tankönyvünk, de abban semmi sincs benne...
Tudtok segíteni? -
VinoRosso
veterán
válasz
Panther45 #2131 üzenetére
nem programoztam még pascalba, csak pascal FC kódokat 'nézegettem' még idáig, de nekem nagyon úgy tűnik, hogy ez két konzolról beadott számmal végez műveletet egy repeat until hátultesztelő ciklusban, kiirja hogy mit csinál( write('m–velet sz m1 sz m2 >> ',#9); / bekéri a műveletet( op ), ha ez 'e', akkor kilép, aztán meg bekéri a két számot (readln(x,y))és ezzekkel az op karakteres változóban megadott műveletet végzi el( lásd case of op ).
-
Panther45
csendes tag
válasz
Panther45 #2130 üzenetére
Találtam eggyet... Csak nem tudom mit művel ez... -.-
Nem tudná valaki megmondani nekem hogy mit csinál meg hogy ez a program??? Köszi ...
program repeat_case_pld;var
op :char;
x,y :integer;
e :real;
ok : boolean;begin
repeat
write('m–velet sz m1 sz m2 >> ',#9);
read(op);
if op='e' then halt; { kil‚p‚s }
readln(x,y);
ok:=true;
case op of
'+' : e:=x+y;
'-' : e:=x-y;
'*' : e:=x*y;
'/' : if y=0 then begin
writeln('Null val oszt s!');
ok:=false;
end
else e:=x / y;
else begin
ok:=false;
writeln('Hibas muvelet!');
end;
end;
if ok then writeln('A kifejez‚s ‚rt‚ke: ',#9,e:11:3);
writeln;
until false;end.
-
Panther45
csendes tag
Sziasztok!
Olyat mint az előző " mátrix " nevü program volt,tudnátok még egy ilyet bemásolni? Bármit amit kitaláltok jólenne... Köszönöm szépen ! -
VinoRosso
veterán
üdv! Nem tok nagyon hova irni, mert ahogy látom a többi topic nem túl aktiv, szal ide irom. Pascal FC tankönyv vagy tutorial kelle ha létezik. Valaki programozott ebben?
-
prune
csendes tag
kezdőknek ajánlom:
Program MATRIX;
Uses Crt;
Var
col,lin,ql,cont,aux:integer;
letra:char;
Begin
Clrscr;
Repeat
col:=1+Random(79);
lin:=1+Random(23);
ql:= Random(10);
for cont:= lin to lin+ql do
Begin
if cont<24 then
Begin
letra:= chr(Random(255));
for aux:=1 to 2 do
Begin
if aux= 1 Then
Textcolor(10)
else
Textcolor(2);
gotoxy(col,cont);
write(letra);
delay(50);
end;
end;
end;
until keypressed;
end. -
Pho3bus
tag
hali mindenkinek!kérdésem az lenne h egy angol billes noti-n futó pascalt h lehetne rábirni h felismerje a bill-t mint magyar!hiába állitom be op rendszerben h csak magyar bill maradjon,semmi változás :S sőt nem is mükönek a billntyük nagyon...előre is köszönök minden választ!jah wi xp sp2+tp 5.5 ről lenne szó!ha vki tud jobb fejlesztői programot azt is szivesen veszem!
-
Luos
tag
megvan, valamiért mikor kivalasztottam hogy modositas (case-el) akkor az enterre rögtön átugrotta a read(nev) et is és ezért mindig üres mezőre írta át, csak akkor megy ha beirok még elé egy readln;-t is. valaki tud erre szebb megoldást? (gondolom vmi pufferes dolog van itt)
-
Luos
tag
válasz
Lortech #2118 üzenetére
kicsit rövidititte, csak a név változtatására, az a probléma (most jól megy midnen, jó helyre is teszi, de a nevet még mindíg nem írja bele, üres hely marad valamiért.
procedure modositas;
begin
reset(raktardb);
write('Modositando ID:'); read(id);
while (not eof(raktardb)) and (id <> cucc2.tid) do begin
read(raktardb,cucc2);
end;
write('ird be az uj nevet:');
read(nev);
cucc2.tnev:=nev;
seek(raktardb,filepos(raktardb)-1);
write(raktardb,cucc2);
readln;
end;alap fájl:
ID Név Ár (FT) Darab
1 elso 1 1
2 masodik 2 2
3 harmadik 3 3
4 negyedik 4 4ha kicserélem a 2-esnek a nevét, akkor:
ID Név Ár (FT) Darab
1 elso 1 1
2 2 2
3 harmadik 3 3
4 negyedik 4 4köszi a segitséget
tudom hogy atlathatatlan, hat meg nem vagyok valami profi
a számok átírása tökéletes, a szövegé valamiért ratyi... -
Lortech
addikt
Hadd ne elemezgessem a kódot, mert rossz ránézni.
Módosítás: seek-kel elmész a módosítandó rekordig, és egyszerűen kiírod az új rekordot. Mivel típusos fájlkezelés van, a fájlban pedig a rekord max méretének fenntartva hely, nem okoz gondot ha felülírod, nem fog belecsúszni a következő rekordba stb.
valami ilyesmi:
i:=0;
while (not eof(f)) do
begin
read(f, akt);
if modositanikell then modosit(i);
inc(i);
end;modosit :
...
seek(f, i);
write(f,modositottrekord); -
Luos
tag
Sziasztok ,irogatok egy raktárprogramot pascalban (tulképp külön órára kellett volna már réges rég..
.
Rövden:
Adatok kiirása fájlba, beolvasás, modositás, rendezés.
a rekordokat típusos fájlban tárolom, és szeretném módosítani az adatokat, ez addig megy is míg számokat kell, de viszont ha a termék nevét szeretném módosítani, és ha azt probalom egy üres részt kapok eredményül.a kód itt található, viszont még koránt sincs kész
. ha valakinek esetleg jobb ötlete van a módosításra ( azon kivül ugye hogy levagjuk a fájl végét, beleirjuk, majd ujra visszairjuk a végét) azt is örömmel venném.
Köszi szépen.
(kell két fájl, egy c:\raktardb.txt és tempdb.txt) -
Panther45
csendes tag
Köszönöm segitségedet!
-
Panther45
csendes tag
Sziasztok! Csak ezt szeretném megkérdezni h TP-ben mit jelent ez a kifejezés? "sp" igy használjuk benne:Const SP=2 ez milyen célt szolgál?:S nagyon köszi ! sziasztok!
-
zvaragabor
senior tag
válasz
zvaragabor #2111 üzenetére
Most veszem észre, hogy van FreePascal topik, bocsi, hogy ide írtam. Felteszem ott is a kérdést. A válaszokat/ötleteket oda (is) várom.
Köszi
Üdv.
-
Lortech
addikt
válasz
zvaragabor #2109 üzenetére
szerkesztve : Mégis van rá függvény Turbo Pascalban. Pi a neve.
-
zvaragabor
senior tag
Pascalban a Pi-t mivel jelölöm?
-
Lortech
addikt
válasz
eizerle #2107 üzenetére
Az, hogy az összeadást a deklarációs részbe tetted.
Szerintem olvass el egy könyvet, mert ez így nem fog menni.
readln(a1) a végén értelmetlen. A kiiratásnál kéne kiírni az eredményt, pl write('eredmény= ',a1);
Az a1,a2,a3 típusa pedig ne char legyen, hanem integer. Vagy ha konkatenálni akarsz, akkor string.
-
eizerle
csendes tag
mi a hiba???
Error 4: Duplicate identifier (a1).
program valami;
uses crt;
var a1,a2,a3:char;
a1:=a2+a3;
begin
clrscr;
write('1. szám= ');
readln(a2);
write('2. szám= ');
readln(a3);
write('eredmény= ');
readln(a1);
end. -
eizerle
csendes tag
montam hogy most tanulom......
köszi szépen a segítséget.......sztem majd még jövök hülyeségekkel
-
eizerle
csendes tag
Én is most tanulgatom a TP-t.......milyen parancsal tok összeadást csinálni???
Lécci írja meg aki tudja........előre is köszi....Eizerle
Új hozzászólás Aktív témák
- Autós topik látogatók beszélgetős, offolós topikja
- HP notebook topic
- Digitális rajztábla
- AMD Navi Radeon™ RX 9xxx sorozat
- Vezetékes FEJhallgatók
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- BestBuy topik
- sziku69: Szólánc.
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Gamer AMD Ryzen 3700X (8 core) / 16GB DDR4 / RX 6700 XT 12GB / 1TB SSD /
- Gamer Ryzen 7 3700x (8core) / 16GB DDR4 / RTX 3070 Ti 8GB/512GB NVME SSD/
- Makulátlan iPhone 16 Pro Max 256GB, fekete titán színben, garisan eladó!
- Gamer Ryzen 5 5600 / 16GB DDR4 / RTX 3060 12GB / 512GB NVME SSD /
- Gamer pc RYZEN 5500/16GB DDR4/RX 7600 8GB/512GB SSD/Új számítógép 3év garanciával
- Samsung Galaxy S21 FE 128GB // Ajándék // Számla // Garancia //
- Honor Pad X9 / 4GB RAM 128 GB / Kártyafüggetlen / 12Hó Garancia
- AKCIÓ! EZÜST! RITKASÁG! Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 512GB OLED 120Hz Gar!
- HP 14 Pavilion FHD IPS i5-1135G7 4.2Ghz 16GB RAM 512GB SSD Intel Iris XE Graphics Win11 Garancia
- Eredeti DELL 240W töltők (LA240PM160)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest