Hirdetés
- Apple iPhone 17 Pro Max – fennsík
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Google Pixel topik
- Megtartotta Európában a 7500 mAh-t az Oppo
- Google Pixel 9 Pro XL - hét szűk esztendő
- Okosóra és okoskiegészítő topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Poco F7 – bajnokesélyes
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
-
Mobilarena

Új hozzászólás Aktív témák
-
Rover623
félisten
Ha parázol hogy lebux, használd ezt:
{ez a rutin a
Str szövegben megadott számot a
Base számrendszer (max. 16-os) szerint megpróbalja számmá alakitani.
Ha a string érvénytelen karaktert is tartalmaz, akkor Code = -1 és a visszaadott érték a hibát okozó karakter poziciója }
Const
_Nums : Array [0..16] Of Char = '0123456789ABCDEF'#0;
Function StrToNum (Str: PChar; Base : Word; Var Code: Integer): LongInt;
Var
I : Word; {mindenfélére...pl. ciklusváltozónak is jó lesz}
Mul, {az aktuális szorzó}
Work : LongInt; {ebben gyűlik a végeredmény}
Pozicio : PChar;
Begin
Code := 0; {legyünk optimisták...nincs hiba}
Work := 0; {0-ról indul az eredmény}
I := StrLen (Str); {milyen hosszú a szöveg?}
If (I > 0) Then Begin
{ha legalább egy karakter van a szövegben, akkor hajrá!}
Mul := 1; {a híres-neves nulladik hatvány}
StrUpper (Str); {nagybetűsítünk}
Dec(I); {merthogy a PChar 0-tól indexelődik}
For I := I Downto 0 Do Begin {végigmászunk a karaktereken}
Pozicio := StrScan (_Nums, Str [ i ] ); {beazonosítjuk a bütüt}
If (Pozicio = Nil) Then Begin
{ha nincs az engedélyezett karakterek között, akkor hiba van!}
Code := - 1;
StrToNum := I;
Exit; {hibával kilépünk}
End;{if}
{$IFOPT Q+}
{$DEFINE OVER}
{$Q-}
{$ENDIF}
Inc (Work, Mul * (Pozicio - _Nums) );{megnöveljük az eredményt}
Mul := Mul * Base;{ hatványozunk :) }
{$IFDEF OVER}
{$Q+}
{$UNDEF OVER}
{$ENDIF}
End; { For }
End; {ha volt valami a Str-ben}
StrToNum := Work;{nyilvánossá tesszük a végeredményt}
End; { StrToNum }
{a leggyakoribb függények, az általános rutint hívják meg}
Function HexaVal (HexaString: PChar; Var Code: Integer): LongInt;
Begin
HexaVal := StrToNum (HexaString, 16, Code);
End; { HexaVal }
Function BinaryVal (BinaryString: PChar; Var Code: Integer): LongInt;
Begin
BinaryVal := StrToNum (BinaryString, 2, Code);
End; { BinaryVal }
Function DecimalVal (DecimalString: PChar; Var Code: Integer): LongInt;
Begin
DecimalVal := StrToNum (DecimalString, 10, Code);
End; { DecimalVal }
Mivel rengeteg programozó van a világon, nem állítom hogy más nem oldotta meg hasonlóképpen, de vmivel kisebb az esélye...
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- BIOS topic
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Apple iPhone 17 Pro Max – fennsík
- Milyen routert?
- Shield TV-t csinált a Shieldből az NVIDIA
- Samsung Galaxy S23 Ultra - non plus ultra
- Linux haladóknak
- Robotporszívók
- Kertészet, mezőgazdaság topik
- További aktív témák...
- Alienware 16 Aurora - 16" 2560x1600 120Hz, Intel Core 7 240H, RTX 5060, beszámítás!
- Alpenföhn Ben Nevis processzorhűtő
- Eladó konfig! I9-14900K 2TB SSD 32GB DDR5 RTX5070 12GB!
- Szép! Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i7-11850H 32/512 A3000 4GB /1,5 Millió/
- !AKCIÓ! GAMER PC Intel Core i9-10900X/ASUS ROG Strix X299-E Gaming/NVIDIA GeForce RTX 3080/32 GB RAM
- Bomba ár! Lenovo ThinkPad T480s - i5-8GEN I 8-16GB I 256-500SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Beats Solo 4 vezeték nélküli fejhallgató, bontatlan.
- Felsőkategóriás Gamer PC-Számítógép! Beszámítás! X870 /R9 9950X / RX 9070XT / 32GB DDR5 / 2TB SSD
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA -Kártyafüggetlen, MS3951, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



