![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток!!!
у меня на кнопку сохранить в savedialog повешено выгрузка и сохранение в exel-евский файл, плюс ко всему, пралельно идет сохранение в тектовый файл в корень каталога программы. когда вызываешь savedialog выбираешь где сохранить в exel-евский файл, прога начинает орать что тектовый файл не найден. как savedialog влияет на жележно прописанный путь? да что говорить вот код. посмотрите где госяк. Код:
procedure TForm1.SaveDialog1CanClose(Sender: TObject; var CanClose: Boolean); var E: Variant; StringList : TStringList; begin StringList := TStringList.Create; StringList.LoadFromFile('data\archive.DAT'); //проблеммы с этой строкой StringList.Add(DATA.Text +'|'+ organizacia.text +'|'+ INN.Text +'|'+ modelKKM.Text +'|'+ zavkkm.Text +'|'+ regkkm.Text +'|'+ DATA2.Text +'|'+ ZAM_EKLZ_ZAV.Text +'|'+ ZAM_EKLZ_REG.Text +'|'+ UST_EKLZ_ZAV.Text +'|'+ UST_EKLZ_REG.Text +'|'+ smena.Text +'|'+ SUMMA.Text +'|'+ FIO_ING.Text +'|'); StringList.SaveToFile('data\archive.DAT');//проблеммы строкой тоже begin end; //------------------------------------------------------------------------------ //короткая схема if RadioButton1.Checked then begin //------------------------------------------------------------------------------ // запуск Excel randomize; E:=CreateOleObject('Excel.Application'); E.Visible:=False; //------------------------------------------------------------------------------ // выбор и открытие книги-шаблона if RadioButton3.Checked then E.WorkBooks.Add(ExtractFileDir(application.ExeName)+'\эталон\эталон_1.xls') else if RadioButton4.Checked then E.WorkBooks.Add(ExtractFileDir(application.ExeName)+'\эталон\эталон_2.xls'); //------------------------------------------------------------------------------ //заполнение E.WorkSheets[3].Cells.Item[6, 1].Value := organizacia.Text; E.WorkSheets[2].Cells.Item[16, 3].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[10, 2].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[25, 1].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[25, 6].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[32, 6].Value := organizacia.Text; E.WorkSheets[3].Cells.Item[12, 2].Value := modelKKM.Text; E.WorkSheets[3].Cells.Item[8, 5].Value := INN.Text; E.WorkSheets[2].Cells.Item[17, 3].Value := INN.Text; E.WorkSheets[3].Cells[19, 5].Value := strtodate(DATA.Text); E.WorkSheets[3].Cells[31, 2].Value := strtodate(DATA.Text); E.WorkSheets[2].Cells[23, 3].Value := strtodate(DATA.Text); E.WorkSheets[2].Cells[11, 1].Value := strtodate(DATA.Text); E.WorkSheets[3].Cells[28, 2].Value := strtodate(DATA2.Text); E.WorkSheets[3].Cells.Item[13, 5].Value := zavkkm.Text; E.WorkSheets[2].Cells.Item[15, 6].Value := zavkkm.Text; E.WorkSheets[1].Cells.Item[24, 6].Value := zavkkm.Text; E.WorkSheets[3].Cells.Item[14, 5].Value := regkkm.Text; E.WorkSheets[2].Cells.Item[18, 4].Value := regkkm.Text; E.WorkSheets[3].Cells.Item[74, 5].Value := FIO_ING.Text; E.WorkSheets[3].Cells.Item [107, 5].Value := FIO_ING.Text; E.WorkSheets[2].Cells.Item [27, 4].Value := FIO_ING.Text; E.WorkSheets[1].Cells.Item [34, 1].Value := FIO_ING.Text; E.WorkSheets[3].Cells.Item[29, 2].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[2].Cells.Item[21, 3].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[1].Cells.Item[23, 7].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[3].Cells.Item[30, 2].Value := UST_EKLZ_ZAV.Text; E.WorkSheets[2].Cells.Item[22, 3].Value := UST_EKLZ_ZAV.Text; E.WorkSheets[3].Cells.Item[29, 4].Value := ZAM_EKLZ_REG.Text; E.WorkSheets[2].Cells.Item[21, 5].Value := ZAM_EKLZ_REG.Text; E.WorkSheets[3].Cells.Item[30, 4].Value := UST_EKLZ_REG.Text; E.WorkSheets[2].Cells.Item[22, 5].Value := UST_EKLZ_REG.Text; E.WorkSheets[3].Cells.Item[38, 5].Value := smena.Text; E.WorkSheets[3].Cells.Item[38, 3].Value := smena2.Text; E.WorkSheets[3].Cells.Item[43, 5].Value := StrToFloat(SUMMA.Text); E.WorkSheets[3].Cells.Item[43, 3].Value := StrToFloat(SUMMA2.Text); E.WorkSheets[3].Cells.Item[44, 5].Value := SUMM_PROP1.Text; E.WorkSheets[3].Cells.Item[44, 3].Value := SUMM_PROP2.Text; //------------------------------------------------------------------------------ // сохранение E.ActiveWorkbook.SaveAs(FileName:=SaveDialog1.FileName); //------------------------------------------------------------------------------ // выбор вывода на печать if CheckBox1.Checked then begin if Form5.CheckBox4.Checked then E.WorkSheets[3].PrintOut(Copies:=Form5.Edit3.Text); if Form5.CheckBox3.Checked then E.WorkSheets[2].PrintOut(Copies:=Form5.Edit2.Text); if Form5.CheckBox2.Checked then E.WorkSheets[1].PrintOut(Copies:=Form5.Edit1.Text); end; E.DisplayAlerts := False; // отключение предупреждения о не сохраненой книге E.Quit; // выход из Excel end //------------------------------------------------------------------------------ // длинная схема else if RadioButton2.Checked then begin //------------------------------------------------------------------------------ // запуск Excel randomize; E:=CreateOleObject('Excel.Application'); E.Visible:=False; //------------------------------------------------------------------------------ // выбор и открытие книги-шаблона if RadioButton3.Checked then E.WorkBooks.Add(ExtractFileDir(application.ExeName)+'\эталон\эталон_1.xls') else if RadioButton4.Checked then E.WorkBooks.Add(ExtractFileDir(application.ExeName)+'\эталон\эталон_2.xls'); //------------------------------------------------------------------------------ //заполнение E.WorkSheets[3].Cells.Item[6, 1].Value := organizacia.Text; E.WorkSheets[2].Cells.Item[16, 3].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[10, 2].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[25, 1].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[25, 6].Value := organizacia.Text; E.WorkSheets[1].Cells.Item[32, 5].Value := organizacia.Text; E.WorkSheets[3].Cells.Item[12, 2].Value := modelKKM.Text; E.WorkSheets[3].Cells.Item[8, 5].Value := INN.Text; E.WorkSheets[2].Cells.Item[17, 3].Value := INN.Text; E.WorkSheets[3].Cells[19, 5].Value := strtodate(DATA.Text); E.WorkSheets[3].Cells[31, 2].Value := ('"_____"________________20_____г.'); E.WorkSheets[2].Cells[23, 3].Value := ('"_____"________________20_____г.'); E.WorkSheets[2].Cells[11, 1].Value := strtodate(DATA.Text); E.WorkSheets[3].Cells[28, 2].Value := strtodate(DATA2.Text); E.WorkSheets[3].Cells.Item[13, 5].Value := zavkkm.Text; E.WorkSheets[2].Cells.Item[15, 6].Value := zavkkm.Text; E.WorkSheets[1].Cells.Item[24, 6].Value := zavkkm.Text; E.WorkSheets[3].Cells.Item[14, 5].Value := regkkm.Text; E.WorkSheets[2].Cells.Item[18, 4].Value := regkkm.Text; E.WorkSheets[3].Cells.Item[74, 5].Value := FIO_ING.Text; E.WorkSheets[2].Cells.Item [27, 4].Value := FIO_ING.Text; E.WorkSheets[3].Cells.Item[29, 2].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[2].Cells.Item[21, 3].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[1].Cells.Item[23, 7].Value := ZAM_EKLZ_ZAV.Text; E.WorkSheets[3].Cells.Item[29, 4].Value := ZAM_EKLZ_REG.Text; E.WorkSheets[2].Cells.Item[21, 5].Value := ZAM_EKLZ_REG.Text; E.WorkSheets[3].Cells.Item[38, 3].Value := smena.Text; E.WorkSheets[3].Cells.Item[43, 3].Value :=StrToFloat(SUMMA.Text); E.WorkSheets[3].Cells.Item[44, 3].Value := SUMM_PROP1.Text; //------------------------------------------------------------------------------ // сохранение if CheckBox1.Checked then begin if Form5.CheckBox4.Checked then E.WorkSheets[3].PrintOut(Copies:=Form5.Edit3.Text); if Form5.CheckBox3.Checked then E.WorkSheets[2].PrintOut(Copies:=Form5.Edit2.Text); if Form5.CheckBox2.Checked then E.WorkSheets[1].PrintOut(Copies:=Form5.Edit1.Text); end; //------------------------------------------------------------------------------ E.DisplayAlerts := False; // отключение предупреждения о не сохраненой книге E.Quit; // выход из Excel end; end; |
#2
|
||||
|
||||
![]() Не используй относительные пути...Юзай полные. Проблема именно в этом (ну если конечно файлы действительно существуют).
|
#3
|
|||
|
|||
![]() решил проблему вот так
Код:
StringList.SaveToFile(ExtractFilePath(Application.ExeName)+'data\archive.DAT'); |
#4
|
||||
|
||||
![]() И почему народ не любит плюсовать когда им помогут?
![]() |