Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.05.2010, 14:06
konsul_81 konsul_81 вне форума
Прохожий
 
Регистрация: 19.04.2010
Сообщения: 21
Репутация: 10
Восклицание глюк с savedialog-ом

Доброго времени суток!!!
у меня на кнопку сохранить в 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  
Старый 25.05.2010, 15:27
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Не используй относительные пути...Юзай полные. Проблема именно в этом (ну если конечно файлы действительно существуют).
Ответить с цитированием
  #3  
Старый 25.05.2010, 19:29
konsul_81 konsul_81 вне форума
Прохожий
 
Регистрация: 19.04.2010
Сообщения: 21
Репутация: 10
Хорошо

решил проблему вот так
Код:
StringList.SaveToFile(ExtractFilePath(Application.ExeName)+'data\archive.DAT');
Ответить с цитированием
  #4  
Старый 26.05.2010, 07:01
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

И почему народ не любит плюсовать когда им помогут?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025