IntToStr w WinAPI

MU
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 21 lat
0

W FAQ znajduje się przykład na funkcję IntToStr tak by nie trzeba
było korzystać tej z SysUtils. Problem w tym, że przykład ten u mnie
nie chodzi. Pojawia się "Illegal character in input file: '' $A0"
w siedmiu miejscach począwszy od try a skończywszy na end.
Funkcja orginalna oczywiście działa bez zarzutu. Co tu zrobić???

pq
  • Rejestracja:około 23 lata
  • Ostatnio:około 14 lat
0

Popełniłeś chyba jakiś błąd przy przenoszeniu kodu. $A0 (czyli 160) to kod non-breaking space, który nie jest dozwolony w Delphi. Zmień na zwykłą spację


"Ecie pecie - odparłem. - Wiadomo, że wszystkiemu winien komputer. Ten brzydal!" (Lem)
MU
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 21 lat
0

Popełniłeś chyba jakiś błąd przy przenoszeniu kodu. $A0 (czyli 160)
to kod non-breaking space, który nie jest dozwolony w Delphi. Zmień na
zwykłą spację

Jak, co, gdzie?? Bo coś nie jarzę.

Oto ten kod:

function IntToStr(Value: Integer): String;
var Str: array[0..255] of char;
begin
  wvsprintf(Str, '%d', @Value); //

pq
  • Rejestracja:około 23 lata
  • Ostatnio:około 14 lat
0

A jak przenosiłeś: jak ja zaznaczyłem w Faq i wkleiłem do Delphi to sie skompilowało OK.

Jak nie pomoże, to spróbuj skasować i wstawic na nowo wszystkie spacje w "błędnych" linijkach kodu.


"Ecie pecie - odparłem. - Wiadomo, że wszystkiemu winien komputer. Ten brzydal!" (Lem)
MU
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 21 lat
0

Skopiowałem jak się patrzy i wkleiłem. I dalej nic, ciągle to samo
w tych samych miejscach.

pq
  • Rejestracja:około 23 lata
  • Ostatnio:około 14 lat
0

Nie wiem, skąd Ci sie to bierze, u mnie jest OK. Usuń spacje i wpisz jeszcze raz, albo przepisz ręcznie kod.


"Ecie pecie - odparłem. - Wiadomo, że wszystkiemu winien komputer. Ten brzydal!" (Lem)
mirekpil
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:481
0

I pamiętaj że te spacje mogą być również na końcu linijki (za średnikiem)
pierawsza linia zawiera spacje (160) ni poczętku i na końcu
a druga ma spacje (32)
 sleep(1) ; 
sleep(1) ;

Dryobates
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 6 lat
0

Ja tam też nie wiem, co u ciebie nie działa. U mnie pięknie śmiga.
A jeżeli już tak bardzo nie chcesz SysUtils używać to weź procedurkę z asm: http://4programmers.net/view_faq.php?id=286


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.
ZI
  • Rejestracja:około 23 lata
  • Ostatnio:ponad 21 lat
0

a nie lepiej o ile zadziala

function IntToStr(Num : Integer) : String;
begin
Str(Num, result);
end;

MU
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 21 lat
0

OK. Przepisałem wszystko ręcznie i teraz działa. Dzięki za pomoc.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.