Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program valutavalto;
- uses httpsend,crt,DOM,XMLRead,XMLWrite,SysUtils;
- var
- Fajlnev: String;
- USDszam: Extended;
- JPYszam: Extended;
- CZKszam: Extended;
- GBPszam: Extended;
- HUFszam: Extended;
- RONszam: Extended;
- Penznem: String;
- Ertek: String;
- Osszeg: Real;
- Amibe: Extended;
- Amibol: Extended;
- AmibePenznem: String;
- AmibePenznemErtek: String;
- Function Letolto(URL, Celfajl: string): Boolean;
- var
- HTTPKuldo: THTTPSend;
- HTTPValaszol: Boolean;
- begin
- ClrScr;
- Writeln('Árfolyamok frissítése...');
- Result := False; //Még nincs válasz
- HTTPKuldo := THTTPSend.Create;
- try
- HTTPValaszol := HTTPKuldo.HTTPMethod('GET', URL); //Itt kapcsolódik először
- if (HTTPKuldo.ResultCode >= 100) and (HTTPKuldo.ResultCode <= 299) then //Csak ha nincs 404-es hiba, stb...
- begin
- HTTPKuldo.Document.SaveToFile(Celfajl); //Fájl letöltése
- Result := True;
- end;
- finally
- HTTPKuldo.Free;
- end;
- if Result = True then //Nincs válasz a szervertől / Hiba
- Writeln('Sikeres frissítés! ',Celfajl,' letöltve!') else
- Writeln('Sikertelen frissítés. Helyi adatok használata');
- end;
- Function Beolvaso(Fajl: string): Boolean;
- var
- Doc: TXMLDocument;
- USDdom: TDOMNode;
- USDstring: String;
- JPYdom: TDOMNode;
- JPYstring: String;
- CZKdom: TDOMNode;
- CZKstring: String;
- GBPdom: TDOMNode;
- GBPstring: String;
- HUFdom: TDOMNode;
- HUFstring: String;
- RONdom: TDOMNode;
- RONstring: String;
- begin
- Result := False;
- if FileExists(Fajlnev) then
- begin
- Result := True;
- ReadXMLFile(Doc, Fajl);
- USDdom := Doc.DocumentElement.FindNode('USD'); //<USD> </USD> kikeresése
- USDstring := USDdom.FirstChild.NodeValue; //String-é alakítás
- USDszam := StrToFloat(USDstring); //Stringből számmá
- JPYdom := Doc.DocumentElement.FindNode('JPY');
- JPYstring := JPYdom.FirstChild.NodeValue;
- JPYszam := StrToFloat(JPYstring);
- CZKdom := Doc.DocumentElement.FindNode('CZK');
- CZKstring := CZKdom.FirstChild.NodeValue;
- CZKszam := StrToFloat(CZKstring);
- GBPdom := Doc.DocumentElement.FindNode('GBP');
- GBPstring := GBPdom.FirstChild.NodeValue;
- GBPszam := StrToFloat(GBPstring);
- HUFdom := Doc.DocumentElement.FindNode('HUF');
- HUFstring := HUFdom.FirstChild.NodeValue;
- HUFszam := StrToFloat(HUFstring);
- RONdom := Doc.DocumentElement.FindNode('RON');
- RONstring := RONdom.FirstChild.NodeValue;
- RONszam := StrToFloat(RONstring);
- Writeln('Beolvasás sikeres!');
- end
- else
- begin
- Writeln('Beolvasási hiba!'); //Ha nem találja a fájlt..
- TextColor(LightRed);
- Writeln('Enter a kilépéshez...');
- Readln;
- Halt;
- end;
- end;
- {$R *.res}
- begin
- Fajlnev := ('valuta.xml');
- Letolto('http://5.175.194.100/adatok.xml', Fajlnev);
- Beolvaso(Fajlnev);
- TextColor(LightGreen);
- Writeln('Enter a folytatáshoz..');
- ReadLn;
- ClrScr;
- TextColor(White);
- Writeln('Elérhető valuták:');
- Writeln;
- TextColor(LightGreen);
- Write('USD');
- TextColor(White);
- Write(' - Amerikai Dollár');
- Writeln;
- TextColor(LightGreen);
- Write('JPY');
- TextColor(White);
- Write(' - Japán Yen');
- Writeln;
- TextColor(LightGreen);
- Write('CZK');
- TextColor(White);
- Write(' - Cseh Korona');
- Writeln;
- TextColor(LightGreen);
- Write('EUR');
- TextColor(White);
- Write(' - Euró');
- Writeln;
- TextColor(LightGreen);
- Write('GBP');
- TextColor(White);
- Write(' - Angol Font');
- Writeln;
- TextColor(LightGreen);
- Write('HUF');
- TextColor(White);
- Write(' - Magyar Forint');
- Writeln;
- TextColor(LightGreen);
- Write('RON');
- TextColor(White);
- Write(' - Román Lej');
- Writeln;
- Writeln;
- Writeln('Miből szeretnél átváltani?');
- TextColor(Yellow);
- Readln(Ertek);
- TextColor(White);
- while (Ertek <> Penznem) or (Penznem = '') do //Trollbiztos megoldás.
- begin
- if (Ertek = 'HUF')
- or (Ertek = 'USD')
- or (Ertek = 'EUR')
- or (Ertek = 'GBP')
- or (Ertek = 'RON')
- or (Ertek = 'CZK')
- or (Ertek = 'JPY') then
- Penznem := Ertek
- else
- begin
- TextColor(LightRed);
- Writeln('Rosszul írtad be. Add meg újra:');
- TextColor(Yellow);
- Readln(Ertek);
- TextColor(White);
- end;
- end;
- ClrScr;
- Write('Amiből átváltasz: ');
- TextColor(LightGreen);
- Write(Penznem:0);
- Writeln;
- TextColor(White);
- Writeln('Mennyit akarsz átváltani? (Csak a szám, pl: 4564.65)');
- TextColor(Yellow);
- Readln(Osszeg);
- TextColor(White);
- ClrScr;
- Write('Amiből átváltasz: ');
- TextColor(LightGreen);
- Write(Penznem);
- Writeln;
- TextColor(White);
- Write('Amennyit átváltasz: ');
- TextColor(LightGreen);
- Write(FormatFloat('0.####', Osszeg));
- Writeln;
- TextColor(White);
- Writeln;
- Writeln;
- Writeln('Elérhető valuták:');
- Writeln;
- TextColor(LightGreen);
- Write('USD');
- TextColor(White);
- Write(' - Amerikai Dollár');
- Writeln;
- TextColor(LightGreen);
- Write('JPY');
- TextColor(White);
- Write(' - Japán Yen');
- Writeln;
- TextColor(LightGreen);
- Write('CZK');
- TextColor(White);
- Write(' - Cseh Korona');
- Writeln;
- TextColor(LightGreen);
- Write('EUR');
- TextColor(White);
- Write(' - Euró');
- Writeln;
- TextColor(LightGreen);
- Write('GBP');
- TextColor(White);
- Write(' - Angol Font');
- Writeln;
- TextColor(LightGreen);
- Write('HUF');
- TextColor(White);
- Write(' - Magyar Forint');
- Writeln;
- TextColor(LightGreen);
- Write('RON');
- TextColor(White);
- Write(' - Román Lej');
- Writeln;
- Writeln;
- Writeln('Mibe szeretnéd váltani?');
- TextColor(Yellow);
- Readln(AmibePenznemertek);
- TextColor(White);
- while (Amibepenznem <> AmibePenznemertek) or (Amibepenznem = '') do //Trollbiztos megoldás.
- begin
- if (AmibePenznemertek = 'HUF')
- or (AmibePenznemertek = 'USD')
- or (AmibePenznemertek = 'EUR')
- or (AmibePenznemertek = 'GBP')
- or (AmibePenznemertek = 'RON')
- or (AmibePenznemertek = 'CZK')
- or (AmibePenznemertek = 'JPY') then
- Amibepenznem := AmibePenznemertek
- else
- begin
- TextColor(LightRed);
- Writeln('Rosszul írtad be. Add meg újra:');
- TextColor(Yellow);
- Readln(AmibePenznemertek);
- TextColor(White);
- end;
- end;
- If Penznem = 'USD' then
- Amibol := USDszam else
- if Penznem = 'GBP' then
- Amibol := GBPszam else
- if Penznem = 'HUF' then
- Amibol := HUFszam else
- if Penznem = 'RON' then
- Amibol := RONszam else
- if Penznem = 'CZK' then
- Amibol := CZKszam else
- if Penznem = 'JPY' then
- Amibol := JPYszam else
- Amibol := 1;
- If AmibePenznem = 'USD' then
- Amibe := USDszam else
- if AmibePenznem = 'GBP' then
- Amibe := GBPszam else
- if AmibePenznem = 'HUF' then
- Amibe := HUFszam else
- if AmibePenznem = 'RON' then
- Amibe := RONszam else
- if AmibePenznem = 'CZK' then
- Amibe := CZKszam else
- if AmibePenznem = 'JPY' then
- Amibe := JPYszam else
- Amibe := 1;
- ClrScr;
- Write('Amiből átváltasz: ');
- TextColor(LightGreen);
- Write(Penznem);
- Writeln;
- TextColor(White);
- Write('Amennyit átváltasz: ');
- TextColor(LightGreen);
- Write(FormatFloat('0.####', Osszeg));
- Writeln;
- TextColor(White);
- Write('Amibe átváltasz: ');
- TextColor(LightGreen);
- Write(Amibepenznem);
- Writeln;
- Writeln;
- Writeln;
- TextColor(White);
- Write('Amennyit kapsz: ');
- TextColor(Yellow);
- Write(FormatFloat('0.####', (Amibe/Amibol*Osszeg)),' ',Amibepenznem);
- Writeln;
- Writeln;
- If Penznem = Amibepenznem then
- Writeln('Amúgy miért váltasz át ugyanabba? :O'); //Poén helye
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement