Mam do napisania takie oto zadanie:
Zad. 4.1
a) Program czyta kolejne znaki z jednego pliku tekstowego, zamienia małe litery 'a'..'z' na wielkie a wielkie 'A'..'Z' na małe i zapisuje do innego pliku.
b) Program czyta wiersze pliku tekstowego do łańcucha, wywołuje funkcję (parametr:string, zwraca string), która przekształca znaki jak opisano w cz. a) i wypisuje na ekranie numer wiersza oraz przekształcony łańcuch
Jesli ktos nie chce to nie musi mi pisac calego kodu, prosilbym jednak przynajmniej o instukcje jakich trzeba uzyc do zamiany malych liter na wielkie, zapisu/odczytu do pliku itd. Moze wowczas bede potrafil cos z tego skleic...
Pozdrawiam
DEPHI zapis/odczyt z pliku + zmiana wielkosci liter
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
DEPHI zapis/odczyt z pliku + zmiana wielkosci liter
Zad 1 a
Zad 1 b
Kod: Zaznacz cały
{Progam ZamianaLiterA;}
var
fwe : text;
fwy : text;
slinia : String;
function zamienlitery(s : string) : string;
var
i : integer;
begin
for i := 1 to length(s) do begin
if ((s[i]) >= 'A') AND ((s[i]) <= 'Z') then
s[i] := chr ( ord(s[i]) + 32) { lower case }
else
if ((s[i]) >= 'a') AND ((s[i]) <= 'z') then
s[i] := upcase(s[i]);
end;
zamienlitery := s;
end;
begin
If (ParamCount <> 2) then begin
WriteLn('Prawidlowe wywolanie pliku to');
WriteLn('pover plikwe plikwy');
WriteLn('gdzie plikwe nazwa pliku do odczytania');
WriteLn('a plikwy to nazwa pliku wdo ktorego zostana zapisane dane z zamieninonymi duzymi i malymi literami.');
Halt(1); { Zakoncz program }
end
else
WriteLn('Zamiana liter malych i duzych z pliku ', ParamStr(1), ' do pliku ', ParamStr(1) );
Assign(fwe, ParamStr(1));
Assign(fwy, ParamStr(2));
{$I-} Reset(fwe); {$I+}
If (IOresult <> 0) then begin
WriteLn('Nie udalos sie otworzyc pliku wejsciowego');
Halt(1); { Zakoncz program }
end;
{$I-} Rewrite(fwy); {$I+}
If (IOresult <> 0) then begin
WriteLn('Nie udalos sie otworzyc pliku wyjsciowego');
Halt(1); { Zakoncz program }
end;
while not eof(fwe) do begin
ReadLn(fwe, slinia);
WriteLn(fwy, zamienlitery(slinia));
end;
Close(fwy);
Close(fwe);
end.
Kod: Zaznacz cały
{Progamm ZamianaLiterB;}
var
fwe : text;
slinia : String;
inrlini : integer;
function zamienlitery(s : string) : string;
var
i : integer;
begin
for i := 1 to length(s) do begin
if ((s[i]) >= 'A') AND ((s[i]) <= 'Z') then
s[i] := chr ( ord(s[i]) + 32) { lower case }
else
if ((s[i]) >= 'a') AND ((s[i]) <= 'z') then
s[i] := upcase(s[i]);
end;
zamienlitery := s;
end;
begin
If (ParamCount <> 1) then begin
WriteLn('Prawidlowe wywolanie pliku to');
WriteLn('pover plikwe');
WriteLn('gdzie plikwe nazwa pliku do odczytania');
Halt(1); { Zakoncz program }
end
else
WriteLn('Zamiana liter malych i duzych z pliku ', ParamStr(1));
Assign(fwe, ParamStr(1));
{$I-} Reset(fwe); {$I+}
If (IOresult <> 0) then begin
WriteLn('Nie udalos sie otworzyc pliku wejsciowego');
Halt(1); { Zakoncz program }
end;
inrlini := 0;
while not eof(fwe) do begin
ReadLn(fwe, slinia);
inc(inrlini);
WriteLn(inrlini, ' ', zamienlitery(slinia));
end;
Close(fwe);
end.
-
- Użytkownik
- Posty: 29
- Rejestracja: 23 lut 2007, o 23:06
- Płeć: Mężczyzna
- Lokalizacja: lublin
- Podziękował: 18 razy
DEPHI zapis/odczyt z pliku + zmiana wielkosci liter
Coś niezabardzo chca mi dzialac te programy... Jestem kompletnym laikiem i byc moze w zle miejsca wpisuje sciezki dostepu do plikow. Moglbys zmodyfikowac te kody w odpowiednie miejsca wpisujac podane sciezki dostepu?
plik do odczytu:
C:malelitery.txt
plik do zapisu:
C:duzelitery.txt
plik do odczytu:
C:malelitery.txt
plik do zapisu:
C:duzelitery.txt
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
DEPHI zapis/odczyt z pliku + zmiana wielkosci liter
jeśli używasz darmowego turbo pascla 5.5 to parametry wpisuje się w Menu Run->Parameters
Tam podajesz dwie nazwy plików przedzielone spacją.
A jeżeli chcesz wpisać te nazwy na sztywno to proszę.
Tam podajesz dwie nazwy plików przedzielone spacją.
A jeżeli chcesz wpisać te nazwy na sztywno to proszę.
Kod: Zaznacz cały
{Progam ZamianaLiterA;}
var
fwe : text;
fwy : text;
slinia : String;
function zamienlitery(s : string) : string;
var
i : integer;
begin
for i := 1 to length(s) do begin
if ((s[i]) >= 'A') AND ((s[i]) <= 'Z') then
s[i] := chr ( ord(s[i]) + 32) { lower case }
else
if ((s[i]) >= 'a') AND ((s[i]) <= 'z') then
s[i] := upcase(s[i]);
end;
zamienlitery := s;
end;
begin
WriteLn('Zamiana liter malych i duzych z pliku C:\malelitery.txt do pliku C:\duzelitery.txt' );
Assign(fwe, 'C:\malelitery.txt');
Assign(fwy, 'C:\duzelitery.txt');
{$I-} Reset(fwe); {$I+}
If (IOresult <> 0) then begin
WriteLn('Nie udalos sie otworzyc pliku wejsciowego');
Halt(1); { Zakoncz program }
end;
{$I-} Rewrite(fwy); {$I+}
If (IOresult <> 0) then begin
WriteLn('Nie udalos sie otworzyc pliku wyjsciowego');
Halt(1); { Zakoncz program }
end;
while not eof(fwe) do begin
ReadLn(fwe, slinia);
WriteLn(fwy, zamienlitery(slinia));
end;
Close(fwy);
Close(fwe);
end.
Ostatnio zmieniony 11 lis 2007, o 12:25 przez smiechowiec, łącznie zmieniany 1 raz.
-
- Użytkownik
- Posty: 29
- Rejestracja: 23 lut 2007, o 23:06
- Płeć: Mężczyzna
- Lokalizacja: lublin
- Podziękował: 18 razy
DEPHI zapis/odczyt z pliku + zmiana wielkosci liter
Ok, dzieki wielkie, wszystko dziala
A uzywam Turbo Delphi 7...
A uzywam Turbo Delphi 7...