852 już mam pozostaje mi użycie pozostałych dwóch. Ale to nic nie da bo jak napiszę chcp i stronę kodową to mi się ona nie zapisze na stałe tylko do momentu zamknięcia konsoli. Ale znalazłem W helpie konsoli takie coś:
C:\Users\Łukasz>change chcp
Nieprawidłowe parametry
CHANGE { LOGON | PORT | USER }
Ktoś wie co w parametrach wpisać ?
-
TheMediator95
- Posty: 468
- Rejestracja: 29 kwie 2010, 10:35
- Kontakt:
Nic. Zamiast tego wyedytuj sobie w rejestrze wartość OEMCP w kluczu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage.
Możesz też odpalać cmd z przełącznikiem /a (ansi) lub /u (unicode), nie wiem które w twoim przypadku będzie działać.
Możesz też odpalać cmd z przełącznikiem /a (ansi) lub /u (unicode), nie wiem które w twoim przypadku będzie działać.
There is no cloud. It's just someone else's computer.
Zakładając, że jest w systemie zmienna comspec wskazująca lokalizację cmd.exe:
Kod: Zaznacz cały
exec(getenv('COMSPEC'),'chcp blablabla');
There is no cloud. It's just someone else's computer.
-
TheMediator95
- Posty: 468
- Rejestracja: 29 kwie 2010, 10:35
- Kontakt:
Objaśnij bo na razie nic nie działa a strona kodowa 65001 ustawiona przez mnie w Rejestrze doprowadziła do Bricku systemu i musiałem go przywracaćpc.qwerty pisze:Możesz też odpalać cmd z przełącznikiem /a (ansi) lub /u (unicode), nie wiem które w twoim przypadku będzie działać.
A i tak przy okazji: Co ma niby dawać instrukcja ansilowercase? Albo jej źle używam albo nie wiem jak ma działać
Kod: Zaznacz cały
a[1].question := Concat('S',chr(136),'u',chr(190),'y do zamiany sygna',chr(136),'',chr(162),'w analogowych na sygna',chr(136),'y cyfrowe:');
a[1].odp1 := Ansilowercase('koder');
-
PisarzKsiazkowicz
- Moderator
- Posty: 2149
- Rejestracja: 27 sty 2010, 7:53
Nie wiem, czy dobrze czytam Twój kod, ale... dlaczego konwertujesz do małych liter tekst napisany małymi literami?
ansilowercase zamienia podany string na małe litery - w tym co podajesz, zamieniasz "koder" na "koder"...
Prawidłowo: (warunek - poprawna odpowiedź zapisana już w małych literach)
BTW. nie używaj concat() bo tylko zaciemnia on kod. To samo robi:
Prawidłowo: (warunek - poprawna odpowiedź zapisana już w małych literach)
Kod: Zaznacz cały
if ansilowercase(odpowiedz_podana)=odpowiedz_prawidlowa then write('DOBRZE!');
Kod: Zaznacz cały
'string1'+'string2'+jakas_zmienna_ze_stringiem
There is no cloud. It's just someone else's computer.
-
TheMediator95
- Posty: 468
- Rejestracja: 29 kwie 2010, 10:35
- Kontakt:
@pc.qwerty już ogarnąłem funkcję Ansilowercase to powinno wyglądać tak:
.. i teraz jest dobrze, a co do funkcji concat() to przestane jej używać (tzn. usunę ją) jak mi powiesz jak ogarnąć stronę kodową tak abym się nie musiał męczyć z tablicą ASCII.
Kod: Zaznacz cały
Function Pytaj_znaki(a : Pytanie_znaki): Boolean;
Var Odp : String;
Begin
Clrscr;
Writeln (a.question);
Readln (Odp);
If (Ansilowercase(Odp) = Ansilowercase(a.odp1)) Then
Pytaj_znaki := True
Else
Pytaj_znaki := False;
End;
Nie wiem jak to wygląda z tą stroną kodową, ale czy nie możesz po prostu napisać tak:
albo jeszcze prościej (ale nie wiem czy zadziała):
Kod: Zaznacz cały
'normalne literki'+chr(costam_w_ascii)+'dalej normalne literki'
Kod: Zaznacz cały
'normalne literki'+#ascii+'dalej normalne literki'
There is no cloud. It's just someone else's computer.
-
PisarzKsiazkowicz
- Moderator
- Posty: 2149
- Rejestracja: 27 sty 2010, 7:53
Nie rozumiem, po co obie strony zamieniasz na małe litery, no ale ok.
-
TheMediator95
- Posty: 468
- Rejestracja: 29 kwie 2010, 10:35
- Kontakt:
Dlatego bo odpowiedzi mam już powpisywane z dużych liter.PisarzKsiazkowicz pisze:Nie rozumiem, po co obie strony zamieniasz na małe litery, no ale ok.
@pc.qwerty a szkoda że nie wiesz naprawdę szkoda bo gdyby ktokolwiek wiedział to nie musiałbym się w ogóle bawić w tablicę ASCII i mógłbym spokojnie przenosić mój program na Linuxa np. tego w mojej szkole.
Ja bym te odpowiedzi i tak zrobił jako A/B/C... bo ze sprawdzaniem tych które masz to się potniesz
Przykład:
Wpiszę 1,44 i brick.
A tak robisz readkey w pętli i nie martwisz się o wielkość liter, bo sprawdzasz po kodzie wciśniętego znaku, a nie po stringu.
Przykład:
Kod: Zaznacz cały
p[9].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 3.5 cala (Wysokiej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w MB.');
p[9].answer := 1.44;
A tak robisz readkey w pętli i nie martwisz się o wielkość liter, bo sprawdzasz po kodzie wciśniętego znaku, a nie po stringu.
There is no cloud. It's just someone else's computer.
-
TheMediator95
- Posty: 468
- Rejestracja: 29 kwie 2010, 10:35
- Kontakt:
CO ??pc.qwerty pisze:Ja bym te odpowiedzi i tak zrobił jako A/B/C... bo ze sprawdzaniem tych które masz to się potniesz
Przykład:Wpiszę 1,44 i brick.Kod: Zaznacz cały
p[9].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 3.5 cala (Wysokiej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w MB.'); p[9].answer := 1.44;
A tak robisz readkey w pętli i nie martwisz się o wielkość liter, bo sprawdzasz po kodzie wciśniętego znaku, a nie po stringu.
Gdybym dał takie coś jako A/B/C/D to ta gra byłaby zbyt łatwa Przynajmniej jeśli chodzi o takie pytanie.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości