![]() |
|
#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
|
|||
|
|||
![]() Спасибо большое))))
|