FreePascal több szál? Chat program
Sziasztok
körbe olvasgattam de nem találtam megoldást és lécci ne angol oldalakat küldjetek , hanem ha van ötleteitek vagy tanácsotok illetve hogy vmit máshogy csináljak írjátok.
Probáltam készíteni egy chat programot ami ftp-re tölti fel és le az üzeneteket . A freepascalban tökéletesen fut , de ha csak az exét (magát az elkészült programot) indítom el akkor várakozik az execnél . Én töb szálra gondoltam hogy az ftp-re való felcsatlakozás menne egy szálon és az üzenet fel és letöltése a főszálon vagy nem tom hogy menne. Itt a program
program chat;
uses crt,dos;
var msg,username:string;
var gvez,gmod,hibakod:integer;
var f:text;
var otmp:byte;
procedure connect;
begin
clrscr;
write('K‚rem a neved: ');
readln(username);
assign(f,'C:\chat by Lyxy\connect.bat');
rewrite(f);
writeln(f,'ftp -s:connect.txt');
close(f);
assign(f,'c:\chat by Lyxy\connect.txt');
rewrite(f);
writeln(f,'open cím');
writeln(f,'felhasználónév');
writeln(f,'jelszó');
close(f);
swapvectors;
exec('connect.bat','');
swapvectors;
end;
procedure download;
begin
assign(f,'C:\chat by Lyxy\download.bat');
rewrite(f);
writeln(f,'ftp -s:download.txt');
close(f);
assign(f,'c:\chat by Lyxy\download.txt');
rewrite(f);
writeln(f,'rluln');
writeln(f,'lcd c:\chat by Lyxy');
writeln(f,'get chat.txt');
close(f);
swapvectors;
exec('download.bat','');
swapvectors;
assign(f,'C:\chat by Lyxy\chat.txt');
reset(f);
clrscr;
while not eof(f) do
begin
readln(f,msg);
writeln(msg);
end;
close(f);
textcolor(11);
gotoxy(68,24);
write('made by Lyxy');
textcolor(7);
gotoxy(40,1);
write('Kil‚p‚shez "/exit"-t ˇrj');
gotoxy(40,6);
write('šzenet: ');
gotoxy(48,6);
end;
procedure upload;
begin
assign(f,'C:\chat by Lyxy\upload.bat');
rewrite(f);
writeln(f,'ftp -s:upload.txt');
close(f);
assign(f,'c:\chat by Lyxy\upload.txt');
rewrite(f);
writeln(f,'open cím');
writeln(f,'felhasználónév');
writeln(f,'jelszó');
writeln(f,'lcd c:\chat by Lyxy');
writeln(f,'send chat.txt');
close(f);
swapvectors;
exec('upload.bat','');
swapvectors;
end;
//program
begin
connect;
otmp:=128;
repeat
begin
if otmp mod 128 = 0 then
begin
otmp:=0;
download;
end;
if keypressed then
begin
readln(msg);
assign(f,'C:\chat by Lyxy\chat.txt');
append(f);
if (msg<>'/exit') and (msg<>'/EXIT') then writeln(f,username+': '+msg);
close(f);
upload;
end;
delay(20);
otmp:=otmp+1;
end
until (msg='/exit') or (msg='/EXIT');
end.
Ehhez teljesen felesleges több szál, ugyanis amíg nem csatlakoztál, úgy sem tudsz fel és letölteni.
Más hiba lesz, fõleg ha IDEbõl mûködik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!