|
11 января 2008, 17:26 | |
|
LV8 |
HP | |
MP | | Стаж: 18 лет |
Постов: 5126 |
|
Держи у меня все работает как часы
program Concole; {$APPTYPE CONSOLE}
Type TUser = Record FIO: String; Kv, Home: string; Street, City: String; end;
var User: Array of TUser; Street, City: string;
Procedure ShowUsers(Street, City: String); var n: Integer; begin For n:=0 To Length(User)-1 do begin If (User[n].City=City) And (User[n].Street=Street) Then With User[n] do WriteLn('Fio='+FIO+', '+'Gorod='+City+', '+'Ulitsa='+Street+', '+'Dom='+Home+', '+'kvartira='+Kv); end; end;
Procedure WriteToType(Str: String); var s:String; i,j:Integer; begin j:=0; SetLength(User,Length(User)+1); While Pos(',',Str) > 0 do begin Inc(j); i:=Pos(',',Str); s:=Copy(Str,1,i-1); if s[1]=' ' then delete(s,1,1); Str:=Copy(Str,i+1,Length(Str)-i); Case j of 1: User[Length(User)-1].Fio:=s; 2: User[Length(User)-1].City:=s; 3: User[Length(User)-1].Street:=s; 4: User[Length(User)-1].Home:=s; end; end; if Str<>'' then User[Length(User)-1].Kv:=Str; end;
Procedure ReadData; var F1: TextFile; Ch: Char; s,s1: string; j: Integer; begin AssignFile(F1, 'data.txt'); Reset(F1); s:=''; while not Eof(F1) do begin Read(F1, Ch); s:=s+ch; end; CloseFile(F1); While Pos(#$D#$A,s)> 0 do begin j:=Pos(#$D#$A,s); s1:=Copy(s,1,j-1); s:=Copy(s,j+2,Length(s)-j); WriteToType(s1); end; if s <> '' then WriteToType(s); end;
begin ReadData; Writeln('Enter your City: '); ReadLn(City); Writeln('Enter your Street: '); ReadLn(Street); WriteLn(chr(10)+'Result:'); ShowUsers(street,city); WriteLn('Press Enter to Exit...'); ReadLn; end. |
В корне с программой должен лежать файлик data.txt Содержимое оного у меня таково.
Ivanov I.I, Moskva, Arbat, 15, 6 Petrov P.P, Moskva, Arbat, 45, 14 Sidorov I.P, Moskva, Tverskaya, 1,1 Eminem, New York, Star st., 1, 2 | Романтиком быть выгодно. Почему ты поступаешь нелогично? Я романтик. Почему ты бедный? Я романтик. Почему у тебя труп в подвале? Я романтик. |
|
|