Valaki letudna írni egy program forrást Pascal-ra (aza hosszú izé XD)?
Kösz! XD
Mondom hosszú izé. Valamit tudnál írni vagy segíteni a programozásban?
Tessék itt egy program:
program yahoos_;
{$mode ObjFPC}{$H+}
const Yahoo64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._';
function Yahoo64Encode(Source : String) : String;
var limit : integer = 0;
i : integer = 1;
dest : String = '';
begin
limit:=Length(Source)-(Length(Source) mod 3);
while i<limit do
begin
dest:=dest+yahoo64[(ord(source[i]) shr 2)+1];
dest:=dest+yahoo64[(((ord(source[i]) shl 4) and $30) or (ord(source[i+1]) shr 4))+1];
dest:=dest+yahoo64[(((ord(source[i+1]) shl 2) and $3C) or (ord(source[i+2]) shr 6))+1];
dest:=dest+yahoo64[(ord(source[i+2]) and $3F)+1];
inc(i,3);
end;
case Length(Source)-Limit of
1: begin
dest:=dest+yahoo64[(ord(source[i]) shr 2)+1];
dest:=dest+yahoo64[((ord(source[i]) shl 4) and $30)+1];
dest:=dest+'--';
end;
2: begin
dest:=dest+yahoo64[(ord(source[i]) shr 2)+1];
dest:=dest+yahoo64[(((ord(source[i]) shl 4) and $30) or (ord(Source[i+1]) shr 4))+1];
dest:=dest+yahoo64[(((ord(source[i+1]) shl 2) and $3C))+1];
dest:=dest+'-';
end;
end;
Result:=dest;
end;
function Yahoo64Decode(source : String) : String;
var Len : integer = 0;
Plus : byte = 0;
Dest : String = '';
i : integer = 1;
chr1 : byte = 0;
chr2 : byte = 0;
chr3 : byte = 0;
chr4 : byte = 0;
begin
Len:=Length(Source);
if Source[Len]='-' then Plus:=2;
if Source[Len-1]='-' then Plus:=1;
if Plus>0 then Len:=Len-4;
while i<Len do
begin
chr1:=pos(Source[i],Yahoo64)-1;
chr2:=pos(Source[i+1],Yahoo64)-1;
chr3:=pos(Source[i+2],Yahoo64)-1;
chr4:=pos(Source[i+3],Yahoo64)-1;
dest:=Dest+chr((chr1 shl 2) or (chr2 shr 4));
dest:=dest+chr(((chr2 and $F) shl 4) or (chr3 shr 2));
dest:=dest+chr(((chr3 and $3) shl 6) or (chr4 and $3F));
inc(i,4);
end;
case plus of
1: begin
chr1:=pos(Source[i],Yahoo64)-1;
chr2:=pos(Source[i+1],Yahoo64)-1;
dest:=dest+chr((chr1 shl 2) or (chr2 shr 4));
end;
2: begin
chr1:=pos(Source[i],Yahoo64)-1;
chr2:=pos(Source[i+1],Yahoo64)-1;
chr3:=pos(Source[i+2],Yahoo64)-1;
dest:=dest+chr((chr1 shl 2) or (chr2 shr 4));
dest:=dest+chr(((chr2 and $F) shl 4) or (chr3 shr 2));
end;
end;
Result:=dest;
end;
var s : string;
begin
write('Kerek egy szot: ');
readln(s);
writeln('Kodolva: ',Yahoo64Encode(s));
s:=Yahoo64Encode(s);
writeln('Dekodolva: ',Yahoo64Decode(s));
end.
Ezt Free Pascal alatt követtem el, és a [link] oldalon található php kód átirata Free Pascalra, kiegészítve egy programmá. Persze ennek így nem sok értelme van magában, de ez csak a teszteléshez kellett, később a két függvény egy unitban landolt és más programokban lett felhasználva. Jó szórakozást hozzá.
Bocsánat!
Nem tudom neked, mért kell egy program forráskódja, de aki ilyan: XD-ket ír, azok komolytalanok -> nehogy megpróbáld tanulni a programozást, mert nem fog menni...
Bocsi az OFF-ért
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!