![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите с ошибкой [D7, WinXP]
Lordalex © (2007-05-14 18:50:00)Здрайствуйте мастера помогите разабраца с ошибкой есть фаил TXT
в нем есть данныу
0#1022#2006#12#30#1#9#2#2#00#0#384#7347594254.00
0#1022#2006#12#30#1#9#2#2#51#0#384#4735250852.20
0#1022#2006#12#30#1#9#2#2#51.1#0#384#268039743.00
0#1022#2006#12#30#1#9#2#2#51.11#0#384#1833907.20
0#1022#2006#12#30#1#9#2#2#51.11.1#0#384#209.00
0#1022#2006#12#30#1#9#2#2#51.11.2#0#384#1761707.20
Мне дали вот такой код в коде я ошибке не как найти не магу тем немением сохраняеца тока первая строка код программы такой:
procedure TForm1.RbButton2Click(Sender: TObject);
var
PathAppl : String; //Путь к прогграме
ExcelApp:Variant;
//======================================================
Direct : TextFile;
OVStr:OleVariant;
xlApp:OleVariant;
MyStr1: String;// Путь и имя файла вмести с расширением
MyStr2: String;// Просто Имя файла без расширения
MyStr3: String;//
MyStr4: String;
MyStr5: String;//
MyStr6: String;// Строка из файла TXT
MyStr7: String; //
MyStr8: String;
MyStr9: String;
MyStr10: String;
MyStr11: String;
MyStr12: String;
MyStr13: String;//
MyStr14: String;
MyStr15: String;
MyStr16: String;
MyStr17: String;
MyStr18: String;
MyStr19: String;
MyStr20: String;
MyStr21: String;
Num1:Integer;
Num2:Integer;
Num3:Integer;
Num4:Integer;
Num5: Integer;
Num6: Integer;
Num7: Integer;
Num8: Integer;
I:Integer;
J:Integer;
begin
Num5:=0;
MyStr1:=suiEdit1.Text;
Num1:=Length(MyStr1);
For I:=1 To Num1 Do
If MyStr1[i]='\' Then
Num2:= I;
Num2:=Num2+1;
Num1:=Length(MyStr1);
Num1:=Num1-4;
For I:=Num2 To Num1 Do
MyStr2:=MyStr2+ MyStr1[I];
//=========================================
// If (Length( MyStr2)=10) or (Length( MyStr2)=11) Then
If (Length( MyStr2)=10) Then
Begin {1}
//===========================================
MyStr4:=MyStr2+'.xls';
MyStr3:=PathAppl+'Data\shablon.xls';
MyStr5:=PathAppl+'Data\'+MyStr4;
CopyFile(PChar(MyStr3),PChar(MyStr5),True);
Num6:=2 ;
xlApp:=CreateOleObject('Excel.Application'); //соединяюсь
OVStr:=MyStr5;
xlApp.WorkBooks.Open(OVStr); // открываю нужный шаблон exels
AssignFile(Direct,MyStr1); //TXT
Reset(Direct);
while not eof(Direct) do //Цикол будет итти пока не будет скопирована последняя строка
begin {5}
readln(Direct,MyStr6);
Num3:=3;
MyStr20:=MyStr6;
Num8:=Length(MyStr20);
For I:=3 To Length(MyStr20) Do
If (MyStr6[I]='#') Then
begin{7}
Num4:=I;
MyStr7:='';
For j:=Num3 To I-1 Do
MyStr7:=MyStr7+MyStr20[j];
Num5:=Num5+1;
case Num5 of {9}
1: MyStr8:=MyStr7;
2: MyStr9:=MyStr7;
3: MyStr10:=MyStr7;
4: MyStr11:=MyStr7;
5: MyStr12:=MyStr7;
6: MyStr13:=MyStr7;
7: MyStr14:=MyStr7;
8: MyStr15:=MyStr7;
9: MyStr16:=MyStr7;
10: MyStr17:=MyStr7;
11: MyStr18:=MyStr7 ;
end;{9}
Num3:=I+1;
MyStr7:='';
If Num5=11 Then
For j:=Num3 To Num8 Do
begin{8}
MyStr7:=MyStr7+MyStr6[j];
MyStr19:= MyStr7;
end;{8}
end;{7}
{ If (MyStr8='')or(MyStr9='')or (MyStr10='')or(MyStr11='')or
(MyStr12='')or(MyStr13='')or(MyStr14='')or(MyStr15='')or(MyStr16='')or
(MyStr17='')or(MyStr18='')or(MyStr19='') Then
Begin //{6
suiMessageDialog1.Text:='В строке '+(IntToStr(Num6))+' Есть ошибка';
suiMessageDialog1.ShowModal;
MyStr21:=MyStr21+IntToStr(Num6)+' ';
End;//6
}
xlApp.Cells[Num6,1].value:=MyStr8; // заполняю текстом ячейки
xlApp.Cells[Num6,2].value:=MyStr10; // заполняю текстом ячейки
xlApp.Cells[Num6,3].value:=MyStr9; // заполняю текстом ячейки
xlApp.Cells[Num6,4].value:=MyStr11; // заполняю текстом ячейки
xlApp.Cells[Num6,5].value:=MyStr12; // заполняю текстом ячейки
xlApp.Cells[Num6,6].value:=MyStr13;
xlApp.Cells[Num6,7].value:=MyStr14;
xlApp.Cells[Num6,8].value:=MyStr15;
xlApp.Cells[Num6,9].value:=MyStr16;
xlApp.Cells[Num6,10].value:=MyStr17;
xlApp.Cells[Num6,11].value:=MyStr18;
xlApp.Cells[Num6,12].value:=MyStr19;
Num6:=Num6+1;
MyStr8:='';
MyStr9:='';
MyStr10:='';
MyStr11:='';
MyStr12:=''; //
MyStr13:='';
MyStr14:='';
MyStr15:='';
MyStr16:='';
MyStr17:='';
MyStr18:='';
MyStr19:='';
MyStr20:='';
End;{5}
xlApp.Workbooks.Close;
xlApp.Quit;
CloseFile(Direct);
End; {1}
end;
Помогите пожулуйста найти в чем ошибка почем тока сохраняетца
первая строка
Alexander18 (2007-05-23 20:39:00) [1]Чем ржать лутше-бы помогли ему проблема проста об нули Num5 после всех стрингов перед End;{5}
MyStr19:='';
MyStr20:='';
Num5:=0;
End;{5}
Германн (2007-05-15 01:20:00) [2]
> Anatoly Podgoretsky © (14.05.07 21:37) [8]
>
> > Lordalex (14.05.2007 18:50:00) [0]
>
> Ужас!
> Грюшница водку делала?
> <Цитата>
>
> Leonid Troyanovsky © (14.05.07 21:47) [9]
>
>
> > Anatoly Podgoretsky © (14.05.07 21:37) [8]
>
> > Грюшница водку делала?
>
> Ключница (house-keeper) :)
>
> --
> Regards, LVT.
Новояз с эстонским акцентом. "Грешница"+"Ключница"= "Грюшница"
:)
Lordalex (2007-05-14 22:57:00) [3]Как я понел не кто нехочет помочь найти ошибку... :( в выше приведенном коде
Leonid Troyanovsky (2007-05-14 21:47:00) [4]
> Anatoly Podgoretsky © (14.05.07 21:37) [8]
> Грюшница водку делала?
Ключница (house-keeper) :)
--
Regards, LVT.
Anatoly Podgoretsky (2007-05-14 21:37:00) [5]> Lordalex (14.05.2007 18:50:00) [0]
Ужас!
Грюшница водку делала?
Lordalex (2007-05-14 20:55:00) [6]
> Leonid Troyanovsky © (14.05.07 19:43) [4]
> Excel обучен справляться с любыми решетками.
>
> --
> Regards, LVT.
>
А по подробней как это зделать я чтото не допонел у меня файл исходный TXT...
Lordalex (2007-05-14 20:54:00) [7]Excel обучен справляться с любыми решетками.
--
Regards, LVT.
А по подробней как это зделать я чтото не допонел у меня файл исходный TXT...
Lordalex (2007-05-14 20:38:00) [8]
> Zagaevskiy © (14.05.07 19:40) [3]
>
> Извеняюсь, а массивом не проще сделать?
Масивом незнаю мне дали в найти ошибку тут я как не курутил некак не проходит на второй строке наченает дурью маеца Очень нужно найти ошибку тут...
Leonid Troyanovsky (2007-05-14 19:43:00) [9]
> Lordalex (14.05.07 19:32) [2]
> прога должна брать строки из файла и перевадить их в экслелевсий
> фаил в определенном порядке разделителем служет решетка
Excel обучен справляться с любыми решетками.
--
Regards, LVT.
Zagaevskiy (2007-05-14 19:40:00) [10]Извеняюсь, а массивом не проще сделать?
Lordalex (2007-05-14 19:32:00) [11]прога должна брать строки из файла и перевадить их в экслелевсий фаил в определенном порядке разделителем служет решетка в данном коде она переводет в файл тока первую строку... почему понять не магу
Desdechado (2007-05-14 19:26:00) [12]А что должна делать программа?