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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2014, 16:07   #41
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Не могу понять почему выдает ошибки в функции
SOS

http://www.fayloobmennik.net/4057549

Последний раз редактировалось Uliy; 26.08.2014 в 16:47.
Uliy вне форума Ответить с цитированием
Старый 26.08.2014, 16:50   #42
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вы пароль на закачку поставили.
Цитата:
Копия Konvertor.rar
На данный файл установлен пароль.
Чтобы скачать его необходимо ввести пароль:
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2014, 17:00   #43
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вы пароль на закачку поставили.
ой извиняюсь забыла сказать пароль - 12345
Uliy вне форума Ответить с цитированием
Старый 27.08.2014, 09:29   #44
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

1. result это зарезервированное имя для обозначения результата функции. И лучше его НЕ ИСПОЛЬЗОВАТЬ для име своих переменных (параметров).
Код:
     function GetfieldName(name, result: string): string;
       function GetfieldName(name, x: string): string;
2. если мы объявляем какой-то параметр, то НЕ НУЖНО его дублировать в описаниях локальных переменных.
Код:
function TForm1.GetfieldName(name, result: string): string;
var
  Xml, strok, s: TStringList;
////  result, name: string;
  i: integer;
begin
3. чтения файла с абзацами в коде функции GetFiedName нет. (он есть в начале заполнения до первого вызова).
Код:
  strok:=TStringList.Create;
  strok.LoadFromFile(....);
для того чтобы использовать прочитанный файл (точнее заполненный Strok: TStringList) его надо передать в функцию GetfieldName (использовать как фактический параметр).

Код:
  function GetfieldName(strl: TStringList; name: string): string;//таким должно быть объявление
Код:
  strok:=TStringList.Create;
  strok.LoadFromFile(....);
.....
... + GetfieldName(strok, 'ne_en') + ....// а так ее надо будет вызывать
....
3. опечатка lenght = length

итого исправленный
Код:
function TForm1.GetfieldName(strl: TStringList; name: string): string;
var
  s: string;
  i: integer;
begin
  //result:='';
  for i:=0 to strl.count-1 do begin
    s:=strl.string[i];
    if copy(s,1,4)=name then  //нужная строка по имени
      result:=copy(s,5,length(s)); //копируется нужный фрагмент из этой строки
  end;
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 27.08.2014 в 09:35.
evg_m вне форума Ответить с цитированием
Старый 27.08.2014, 10:09   #45
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

evg_m
спасибо большое за помощь!
Uliy вне форума Ответить с цитированием
Старый 27.08.2014, 11:01   #46
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

Теперь докумет формируется как раньше, но добавление строк не происходит, почему так?
http://www.programmersforum.ru/attac...1&d=1409122845
Вложения
Тип файла: rar Копия Konvertor.rar (207.5 Кб, 16 просмотров)
Uliy вне форума Ответить с цитированием
Старый 27.08.2014, 11:51   #47
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
   Xml.Add ('       <seg>'+GetFieldName(strok, 'result')+'</seg>');  //поле name_ru
   Xml.Add ('     </tuv>');
   Xml.Add ('     <tuv xml:lang="RU-RU">');
   Xml.Add ('       <seg>'+GetFieldName(strok, 'result')+ '</seg>'); //из поля name_en
у вас нет поля result а есть (или должно по крайней мере быть) name_ru

P.S. вы можете формировать файл "напрямую" в Мemo1 (без использования переменной xml).
Код:
Memo1.Lines.Clear; //на всякий случай очищаем
...
Memo1.Lines.add( .......); //так заменяем каждый xml.Add(....);
...
Memo1.Lines.SavetoFile(...); //так записываем
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 27.08.2014 в 11:59.
evg_m вне форума Ответить с цитированием
Старый 27.08.2014, 12:25   #48
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

в коде ниже есть строка:

Xml.Add (' <tuv xml:lang="RU-EN" >');
Xml.Add (' <seg>'+GetFieldName(strok, 'Ab1_ru')+ '</seg>'); //из поля Ab1_en
Xml.Add (' </tuv>');

но при выводе текст не добовляется в данное поле, испробовала все

а спомощью этой команды - "Node.Text:=" получится добавить? пытаюсь ей воспользоваться не выходит

Последний раз редактировалось Uliy; 27.08.2014 в 17:39.
Uliy вне форума Ответить с цитированием
Старый 28.08.2014, 09:29   #49
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
в коде ниже есть строка:
в коде есть а есть ли соответствующая строка в текстовом файле.
Цитата:
Xml.Add (' <seg>'+GetFieldName(strok, 'Ab1_ru')+ '</seg>'); //из поля Ab1_en
где-то здесь опечатка.

Цитата:
if copy(s,1,4)=name
НО...
Length('Ab1_en') =6
copy('Ab1_en',1,4)='Ab1_' <>'Ab1_en'
т.е. проверка не сработает.

Код:
if copy(s,1,length(name)) =name then // проверяем ровно столько символов сколько есть в имени
и соответственно надо менять выбор нужного куска
Код:
copy(s, length(name)+???{начинаем с какого-то(???) после имени}, length(s));
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 28.08.2014 в 09:33.
evg_m вне форума Ответить с цитированием
Старый 28.08.2014, 09:50   #50
Uliy
Пользователь
 
Регистрация: 24.07.2014
Сообщений: 38
По умолчанию

я так понимаю что с i-ого значения по последнее значение(count-1) происходит копирование строки, если первые четыре буквы соответствуют значению name?

Последний раз редактировалось Uliy; 28.08.2014 в 09:58.
Uliy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pdf конвертор VAnj2607 Помощь студентам 6 01.05.2011 16:55
создать конвертор nurgali Помощь студентам 0 09.12.2010 09:57
Конвертор ZORRO2005 Microsoft Office Excel 16 26.05.2008 10:50
Конвертор Djarx БД в Delphi 14 27.04.2008 17:04
Конвертор IB в FB SunKnight БД в Delphi 1 29.03.2008 20:10