Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Turbo Pascal] Niepoprawnie działający program

Arlina 26 Maj 2011 15:04 975 3
  • #1 26 Maj 2011 15:04
    Arlina
    Poziom 2  

    Witam!
    Trudzę się i głowie lecz nie jestem w stanie rozwiązać. Mianowicie... Mam na zaliczenie wykonać program, który wczyta plik i zamieni w nim polskie znaki na zwykłe (np. ł -> l). Próbowałam, kombinowałam, ale nadal opornie nie chce działać.
    Problem tkwi w tym, że jednak nie zmienia tych znaków. Wyłącza się pogram podczas obróbki... Programowanie nie jest moją mocną stroną więc prawdopodobnie coś naknociłam QQ. Bardzo proszę o pomoc...

    Kod: pascal
    Zaloguj się, aby zobaczyć kod


    Z góry dziękuje :D.

    0 3
  • #2 26 Maj 2011 15:21
    lpm11
    Poziom 22  

    if linia1[i]='brak' then linia2:=linia2+'Z'else - tego nie rozumiem.
    Zrób tak.. najpierw skopiuj tekst, a potem pozamieniaj w nim polskie znaki.
    Czyli (po wczytaniu):
    linia2:=linia1;
    for i:=1 to length(linia1) do
    ...
    na przykład: if linia2[i]=#163 then linia2[i]:='L'else ...
    i tak ze wszystkimi. Na koniec wypisujesz linia2.

    0
  • #4 27 Maj 2011 10:58
    ed-ek
    Poziom 34  

    Istotną sprawą jest w jakim standarcie zapisany jest plik. Zapoznaj się z:
    http://pl.wikipedia.org/wiki/Kodowanie_polskich_znaków
    Napisz sobie w notatniku tekst zawierający tylko polskie znaki ąĄćĆłŁóÓżŻźŹśŚęĘśŚ jest ich 18 i zapisz go na dysku. Z pliku odczytuj znak po znaku. Podany niżej kod zamiania napotkany znak np ą na a. Jest napisany do zamiany kodu windows-1250.Jeżeli chciałbyś zrobić kod uniwersalny, to musisz zmienić warunek if np:
    if ((ord(ch)=165)or(ord(ch)=161)) then ch:='A';
    czyli dodałem Latin2.
    Nie chciało mi się wstawiać więcej if''ów, kod zanienia tylko ąĄęĘćĆ na aAeEcC. Zamiana wypisywana jest na ekranie i dodatkowo w nowym pliku.

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    0
  Szukaj w 5mln produktów