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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2014, 21:16   #11
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Первый шаг к решению.
Смотрите, осмысливайте, спрашивайте.
Каков, по Вашему, должен быть следующий шаг?
Вложения
Тип файла: rar Word.rar (1.4 Кб, 7 просмотров)
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 21:24   #12
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Alexander_ Посмотреть сообщение
В этом коде понимаю от силы только половину, но предполагаю что происходит ошибка когда в переменную tmp1 залезают не числовые символы и соответственно операция n:= StrToInt(tmp1); дает сбой (но возможно я неправ)
Прав. В программе конец числа считался пробелом или концом строки. Ибо в исходных данных другого дано не было.
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 21:34   #13
Alexander_
Пользователь
 
Регистрация: 30.11.2014
Сообщений: 19
По умолчанию

Честно говоря уже пробовал через Мемо, но в тексте есть так же формулы сделанные Ворд-инструментами которые нужно сохранить. К тому же вон в Мемо добавляет строчку [t1;t2], а ее изменять не нужно
Alexander_ вне форума Ответить с цитированием
Старый 01.12.2014, 21:40   #14
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Alexander_ Посмотреть сообщение
К тому же вон в Мемо добавляет строчку [t1;t2], а ее изменять не нужно
Проверить - цыфры там, или нет. Если не цыфры - не трогать.
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 21:42   #15
Alexander_
Пользователь
 
Регистрация: 30.11.2014
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Iron Monk Посмотреть сообщение
В программе конец числа считался пробелом или концом строки.
А нельзя добавлять в переменную tmp1 по цифре, ну или пока символ подходит под integer?
Alexander_ вне форума Ответить с цитированием
Старый 01.12.2014, 21:47   #16
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Alexander_ Посмотреть сообщение
А нельзя добавлять в переменную tmp1 по цифре, ну или пока символ подходит под integer?
Пожалста...
Код:
function digit(dig: Char): boolean;
begin
  if (dig >= '0') and (dig <= '9') then
      Result:= true else
      Result:= false;
end;
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 21:58   #17
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Alexander_ Посмотреть сообщение
Честно говоря уже пробовал через Мемо, но в тексте есть так же формулы сделанные Ворд-инструментами которые нужно сохранить. К тому же вон в Мемо добавляет строчку [t1;t2], а ее изменять не нужно
Так в мемо мы загрузим только то, что нужно обработать, а потом изменения загрузим обратно в Ворд - все картинки останутся на месте.
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 22:12   #18
Alexander_
Пользователь
 
Регистрация: 30.11.2014
Сообщений: 19
По умолчанию

У меня есть код что изменяет текст (точнее перекидывает измененный в Мемо2), но как добавить результаты обратно в Ворд?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 s, s1, v: string;
 i, i1, M, N: integer;
 flg, fgl: boolean;
begin
 s:= Memo1.Text;
 M:= StrToInt(Edit1.Text);
 Memo2.Clear;
 s1:= '';
 flg:= false;
 i1:= 0;

 for i := 1 to Length(s) do
  begin
   s1:= s1 + s[i];
   if (s[i] = '[') or (s[i] = ';') then flg:= true;
   if flg then
    begin
     fgl := s[i+1] = ' ';
     if s[i] in ['0'..'9'] then inc(i1);
     if (not (s[i+1] in ['0'..'9'])) and (not fgl) then
      begin
       v:= Copy(s1, (Length(s1)-i1)+1, Length(s1));
       flg:= false;
       if v <> '' then
         begin
          N:= StrToInt(v);
          if N > M then v:= IntToStr(N+1);
          if N = M then v:= 'Ы';
          if N < M then v:= IntToStr(N-1);
          Delete(s1, (Length(s1)-i1)+1, Length(s1));
          s1:= s1 + v;
          i1:= 0;
         end;
      end;
    end;
  end;
 Memo2.Text:= s1;
end
Alexander_ вне форума Ответить с цитированием
Старый 01.12.2014, 22:21   #19
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Alexander_ Посмотреть сообщение
У меня есть код что изменяет текст (точнее перекидывает измененный в Мемо2), но как добавить результаты обратно в Ворд?


Как-то ошибок многовато, на первый взгляд...
Да и вместо увеличения цыфири уменьшились...

Последний раз редактировалось Iron Monk; 01.12.2014 в 22:36.
Iron Monk вне форума Ответить с цитированием
Старый 01.12.2014, 22:35   #20
Alexander_
Пользователь
 
Регистрация: 30.11.2014
Сообщений: 19
По умолчанию

Странно, у меня все правильно. Вот что ли исходники:
Но по моему этот код все равно нужно редактировать под передачу результатов в док
Изображения
Тип файла: png Новый рисунок.png (57.6 Кб, 27 просмотров)
Alexander_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача о замене оборудования kirusha26 Помощь студентам 0 05.12.2010 17:09
Вопрос по замене строк agent007 Общие вопросы C/C++ 0 07.07.2010 17:59
Програма для нахождения НОД трех чисел Draips Помощь студентам 3 26.04.2010 22:04
Програма для нахождения НОК трех чисел Draips Помощь студентам 5 26.04.2010 20:38
Задача по замене строк motorway PHP 3 06.07.2009 23:58