Exporting information from the customer directory to a file
Go to navigation
Go to search
Пример получения информации о заказчиках с выгрузкой результатов в файл.
uses SysUtils, Classes; const delim = '|'; // разделитель данных в строке // nl = #$0D#$0A; // признак конца строки procedure SaveClientsInfoToFile(fn: string); // процедура выгружает информацию о клиентах во внешний файл var f: TStringStream; // поток для выгрузки во внешний файл line, pass, dealer_code, nl: string; i: integer; client: TZakazchikItem; // клиент begin nl := Chr(13) + Chr(10); f := TStringStream.Create; // создаем поток для выгрузки данных line := 'id'+delim+'code'+delim+'city'+delim+'phone'+delim+'email'+delim+'pass'+delim+'direction'+delim+'type'+delim+'region'+nl; // формируем заголовок (для понимания какие данные в колонке) f.WriteString(line); // пишем заголовок в поток for i:=0 to gd.Zakazchik.Items.Count-1 do // проходимся по всем клиентам begin pass := ; // обнуляем значения пароля dealer_code := ; // и кода дилера client := gd.Zakazchik.Items.GetByNum(i); // получаем информацию о клиенте if client.Typ = 2 then // если клиент - дилер begin pass := client.Param2.GetDealerPass(gd.GlobalPar.DealerDatabaseId); // достаем его пароль dealer_code := client.Param2.FDealerCode; // читаем значение кода дилера end; line := // формируем поля для отображения (последовательность должна соответствовать перечислению в заголовке!) IntToStr(client.Id) + delim + dealer_code + delim + client.City + delim + client.Tel + delim + client.Email + delim + pass + delim + client.Napr + delim + IntToStr(client.Typ) + delim + client.Oblast + nl; f.WriteString(line); // пишем информацию о клиенте в поток end; f.SaveToFile(fn); // сохраняем поток в файл f.Free; // освобождаем поток end; begin SaveClientsInfoToFile('clients.txt'); end;