Visst 
- {$APPTYPE CONSOLE}
Skippa detta... - uses SysUtils, ShellAPI;
Ingen av dessa libs finns i TP; skippa - AssignFile
heter bara Assign() i TP...
Det kan vara något mer; men detta var vad jag såg direkt...
11 svar · 559 visningar · startad av the proclaimer
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?
Visst 
Det kan vara något mer; men detta var vad jag såg direkt...
Lite ytterligare.
Följande bör vara med i uses-satsen:
Uses
Crt,Dos;
CloseFile(Source) heter bara Close(Source) ;
tackar!
dos och crt hade jag redan provat men de gjorde varken till eller från...
FileExists funkar heller inte i TP7
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.
Även om Delphi rular så är det kul att se att folk inte glömt gamla hederliga TP. 
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?
Runtime Error 200 är enligt min bok division med noll.
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?
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 
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