![]() |
|
|
#1
|
|||
|
|||
|
Здравствуйте.
В файле хранятся фамилии сотрудников фирмы и их оклады. Написать программу, которая формирует новый файл, выводя помимо начальных данных столбец премий (50%) от оклада и итоговые суммы для каждого сотрудника. Помогите, пожалуйста. Самостоятельный разбор темы файлов мне не помог... |
|
#2
|
|||
|
|||
|
Тут вопрос - как храняться.
Просто считать - загружаешь файл через TStringList и получаешь набор строчек. Его надо распарсить, а вот тут то и стоит вопрос - как они там лежат - на какие признаки ориентироваться. Ну а когда распарсишь - остальное дело техники. Посчитал цифильки и можно обратно в строку собрать и через TStringList выгрузить. |
|
#3
|
|||
|
|||
|
а можно на примере? не работала никогда с TStringList...
|
|
#4
|
||||
|
||||
|
Посмотри тут....
http://delphibasics.ru/TStringList.php |
|
#5
|
|||
|
|||
|
Я бы решил так ...
Структура файла, в котором храняться записи о сотрудниках Код:
Первый сотрудник|1000 Второй сотрудник|2340 Третий сотрудник|6767 Пятый|45345 Код:
var
Form1: TForm1;
symbol_pos:integer;
temp,temp2:string;
bonus,total:integer;
i,count:integer;
str:TStringList;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
str:=TStringList.Create;
str.LoadFromFile('db.txt');
count:= str.Count;
for i:=0 to count-1 do
begin
symbol_pos:=Pos('|',str.Strings[i]);
temp:=Copy(str.Strings[i],0,symbol_pos-1);
temp2:=Copy(str.Strings[i],symbol_pos+1,10000000);
bonus:=StrToInt(temp2) div 2;
total:=bonus + StrToInt(temp2);
Memo2.Lines.Add('Сотрудник: '+temp+' Зарплата: '+temp2+' +50%: '+IntToStr(total));
end; |
|
#6
|
|||
|
|||
|
Спасибо большое))))
|