Текущий архив: 2003.11.17;
Скачать: CL | DM;
ВнизПроблемка... Найти похожие ветки
← →
Dimaz-z (2003-10-25 17:31) [0]Помогите, у меня тут проблема! Не могу ни как разобраться...
Имеется процедура, которая должна экспортировать Данные из базы данных в текстовый файл.
В ней ест цикл, который находит максимальтные длины значений в каждом поле базы. -
var
Surname, Name, Oth, Tel, Sot, Email: Integer;
...
for i := 1 to Table.RecordCount do
begin
Application.ProcessMessages;
if Surname < Length(Table.FieldByName("Surname").AsString) then
Surname := Length(Table.FieldByName("Surname").AsString);
if Name < Length(Table.FieldByName("Name").AsString) then
Name := Length(Table.FieldByName("Name").AsString);
if Oth < Length(Table.FieldByName("Oth").AsString) then
Oth := Length(Table.FieldByName("Oth").AsString);
if Tel < Length(Table.FieldByName("Tel").AsString) then
Tel := Length(Table.FieldByName("Tel").AsString);
if Sot < Length(Table.FieldByName("Sot").AsString) then
Sot := Length(Table.FieldByName("Sot").AsString);
if Email < Length(Table.FieldByName("Email").AsString) then
Email := Length(Table.FieldByName("Email").AsString);
Table.Next;
end;
Дальше идёт маленький цикл, где создайтся строка заголовка -
for i := 1 to Surname + Name + Oth + Tel + Sot + Email do
SSE := SSE + "-";
В результате, после прохода процедуры выходит огромный файл (20-30 мб), даже если в базе одна крохотная запись!
Помогите, подскажите, где моя ошибка!
Вот полный код процедуры:
procedure Tfrm_main.ToText(FileName: String);
var
I, A: Integer;
Surname, Name, Oth, Tel, Sot, Email: Integer;
EFile: TextFile;
SSurname, SName, SOth, STel, SSot, SSE: String;
begin
AssignFile(EFile, FileName);
Rewrite(EFile);
Table.DisableControls;
Table.First;
ShowTextForm("
← →
kaif (2003-10-25 17:40) [1]Я ничего не понял. Это какой-то чудовищный текст.
← →
Е-Моё имя (2003-10-25 17:48) [2]
> [1] kaif © (25.10.03 17:40)
:)))))))))))))))))))))))))))))))
← →
Digitman (2003-10-25 17:50) [3]
> экспортировать Данные из базы данных в текстовый файл.
изучать этот корявый и монстрообразный код , поверь, нет никакого желания)
скажи попросту - каков формат результирующего файла ?
куда он дальше пойдет, на вход какой программы ?
почему не воспользоваться результирующим CSV-форматом ?
для чего делать бестолковую работу по предв.вычислению фактических размеров строк.данных в полях записей НД ?
← →
vuk (2003-10-25 17:54) [4]А если так?
Table.First;
while not Table.EOF do
begin
....
Table.Next;
end;
Страницы: 1 вся ветка
Текущий архив: 2003.11.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.01 c