webForumDet fria alternativet

turbo pascal

11 svar · 524 visningar · startad av the proclaimer

the proclaimerMedlem sedan aug. 200088 inlägg
#1

HJÄLP!

Jag laddade Turbo Pascal 7 från nätet, mest för skoj, men även för att kunna kompilera små dosprogram.

Nu var detta dock inte så enkelt, för även om jag har programerat delphi i 3-4 år, var ett ReadLn/WriteLn program det enda jag kunde åstakomma.

Inga kommandon verkar vara samma som i object pascal!
Eller det är kanske jag som inte har lagt till rätt grejer i USES listan?

Nåja, jag bestämde mig för att göra ett prgram som visar rad efter rad från en fil, med ett x antal millisekunders mellanrum.
För att kunna referera så skrev jag koden i delphi först. Den funkade alldeles utmärkt.

- - - - - -
program abc;
{$APPTYPE CONSOLE}
uses
SysUtils, ShellAPI;

var source : textfile; tmp : string; //"file of string" funkar i TP7

begin
if FileExists('source.txt') then
begin
AssignFile(source, 'source.txt');
reset(source);
While not Eof(source) do
begin
ReadLn(source, tmp);
WriteLn(tmp);
sleep(10);
end;
CloseFile(source);
end
else WriteLn('"source.txt" not found!');
end.
- - - - - -

Självklart så modifierade jag koden så gott jag kunde men hur jag än gjorde blev det bara en massa fel...

Och hjälpen var inte så mycket till hjälp heller...

Någon som kan hjälpa mig?

------------------
/Per Skoglund

bughawkMedlem sedan juni 20001 839 inlägg
#2

Visst

  1. {$APPTYPE CONSOLE}
    Skippa detta...
  2. uses SysUtils, ShellAPI;
    Ingen av dessa libs finns i TP; skippa
  3. AssignFile
    heter bara Assign() i TP...

Det kan vara något mer; men detta var vad jag såg direkt...

------------------
Mvh Yrin Eldfjell
>>> Hemsida <<<

MatteMedlem sedan aug. 20002 975 inlägg
#3

Lite ytterligare.

Följande bör vara med i uses-satsen:
Uses
Crt,Dos;

CloseFile(Source) heter bara Close(Source) ;

the proclaimerMedlem sedan aug. 200088 inlägg
#4

tackar!

dos och crt hade jag redan provat men de gjorde varken till eller från...

FileExists funkar heller inte i TP7

MatteMedlem sedan aug. 20002 975 inlägg
#5

Det här fick jag att fungera i TP6.
Istället för Fileexist fick jag koppla bort
Input/Output-checking med $I- för sedan
kolla eventuella fel med IoResult.
Sleep() finns ej i TP6. Istället finns där
Delay() som kräver Crt i uses-satsen.

program abc;

uses Crt;

var source : text; tmp : string;

begin
Assign(source, 'source.txt');
{$I-}
reset(source);
{$I+}
If IoResult=0 then
begin
While not Eof(source) do
begin
Readln(source, tmp);
WriteLn(tmp);
delay(10);
end;
Close(source);
end else WriteLn('"source.txt" not found!');
end.

WiNNeMedlem sedan maj 2000192 inlägg
#6

Även om Delphi rular så är det kul att se att folk inte glömt gamla hederliga TP.

------------------
winne.net

the proclaimerMedlem sedan aug. 200088 inlägg
#7

tackar än en gång!

jag har ett problem som återstår...
(det gäller nästan alla mina TP program)

jag får hela tiden Runtime Error 200 när jag försöker köra mina program.
om jag har förstått rätt så är det för att datron är för snabb, stämmer det?

MatteMedlem sedan aug. 20002 975 inlägg
#8

Runtime Error 200 är enligt min bok division med noll.

the proclaimerMedlem sedan aug. 200088 inlägg
#9

jo, det säger TP också.

den det finns inga divisioner i programmet!

och jag har för mig att jag läste någonstans att det hände med nya datorer.
Ingen annan som har det problemet?

bughawkMedlem sedan juni 20001 839 inlägg
#10

Det finns säkert massor av divisioner i programmet, bara det att de ligger i TPs biblioteks-kod !

Jag har aldrig haft några sådana problem med min PII:a, men jag har hört att Celeron kan ställa till det... Beror väl på någon skum bugg i någonstans

------------------
Mvh Yrin Eldfjell
>>> Hemsida <<<

WiNNeMedlem sedan maj 2000192 inlägg
#11

Jo, det är ett välkännt problem med datorer som är snabbare än 200Mhz. Om det inte påverkar just P2 vet jag inte men Athlon,Celeron och P3 har problemet med vissa TP/BP program jag körde tidigare så det skulle vara konstigt om det fungerade på P2. Det har med processorns hastighet att göra inte vilken processor.

För mer info kolla här:
http://www.merlyn.demon.co.uk/pas-r200.htm#bp7patch

en simpel sökning på altavista "+pascal +runtime +error +200" gav massor av info om problemet

------------------
winne.net

[Redigerat av WiNNe den 13 aug 2000]

the proclaimerMedlem sedan aug. 200088 inlägg
#12

jag ska prova...

tack för tipset!

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)