Экспорт информации из справочника заказчиков в файл
Перейти к навигации
Перейти к поиску
Пример получения информации о заказчиках с выгрузкой результатов в файл.
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;