Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2015, 14:10   #1
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию сохранение файла Ворд

Привет форумчане)))
подскажите пожалуйста что не так в этом коде?
var
s:string;
begin
ForceDirectories('c:\Протоколы'+'\' +datamodule2.ADOQuery2.FieldByName( 'Организация').AsString+'\'+datamod ule2.ADOQuery3.FieldByName('Структу рное подразделение').AsString+' '+FormatDateTime('yyyy', Now)+'\'+'Черновой вариант');
s:='c:\Протоколы'+'\'+datamodule2.A DOQuery2.FieldByName('Организация') .AsString+'\'+datamodule2.ADOQuery3 .FieldByName('Структурное подразделение').AsString+FormatDate Time('yyyy', Now)+'\'+'Черновой вариант';
App.ActiveDocument.SaveAs(s+'\'+'1' +'.doc');

пишет:
"Неверно указано имя файла. Попробуйте выполнить следующие действия:..."

Спасибо
Ernest027 вне форума Ответить с цитированием
Старый 24.07.2015, 14:33   #2
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

тема закрыта) разобрался)
Ernest027 вне форума Ответить с цитированием
Старый 24.07.2015, 14:34   #3
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

пропустите содержимое через эту функцию

Код:
  function DeleteStopSymbols(AText: String): string;
  const
    cntStopSym = ['>', '<', '|', '?', '*', '/', '\', ':', '"'];
  var
    i: Integer;
  begin
    for i := Length(AText) downto 1 do
      if AText[i] in cntStopSym then
        delete(AText, i, 1);
    Result := AText;
  end;
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 24.07.2015, 14:47   #4
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

Цитата:
Сообщение от BARNEY Посмотреть сообщение
пропустите содержимое через эту функцию

Код:
  function DeleteStopSymbols(AText: String): string;
  const
    cntStopSym = ['>', '<', '|', '?', '*', '/', '\', ':', '"'];
  var
    i: Integer;
  begin
    for i := Length(AText) downto 1 do
      if AText[i] in cntStopSym then
        delete(AText, i, 1);
    Result := AText;
  end;
а чем вам '\' этот символ помешал, он то как раз и нужен, да и ':' ?!

а Ernest027 посоветовал бы делать так
Цитата:
var
s:string;
begin
s := 'c:\Протоколы'+'\' +datamodule2.ADOQuery2.FieldByName( 'Организация').AsString+'\'+datamod ule2.ADOQuery3.FieldByName('Структу рное подразделение').AsString+' '+FormatDateTime('yyyy', Now)+'\'+'Черновой вариант';
ForceDirectories(s);
App.ActiveDocument.SaveAs(s+'\'+'1' +'.doc');
чтобы не возникало таких ошибок
Пишу на Delphi за еду

Последний раз редактировалось Toxa; 24.07.2015 в 14:49.
Toxa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос на удаление прямых кавычек из файла ворд OhNoes Microsoft Office Word 1 07.09.2012 14:16
Сохранение файла RemiJK Помощь студентам 7 23.11.2011 16:53
Создание файла Ворд на основе анализа эксель KorvinDeSon Microsoft Office Excel 11 03.02.2011 13:00
сохранение файла Dimarik PHP 5 16.07.2010 19:37
Сохранение файла KREGI Помощь студентам 4 30.03.2009 21:09