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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2014, 22:46   #1
Taner
Пользователь
 
Регистрация: 05.04.2014
Сообщений: 54
По умолчанию Соединение строк (Lazarus)

не получается соединить строки к примеру
Код:
 m_word:= abc;
  m_change:= qwe;
  m_puck:= m_word + m_change;
  mmResult.Lines.Add(m_puck); //выводит abcqwe
  InS:= m_puck;
как уже было написано для проверка я просто сделал вывод переменной m_puck, оно вроде и соединило строки, а вроде и нет. Все дальнейшие действия производятся со строкой "qwe" не понятно почему ведь я присваиваю InS уже строку "abcqwe".
m_word у меня берется из тхт файла, m_change из edit.
сам код
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
.... 
AssignFile(f1, 'word.txt');
  Reset(f1);
  While not EOF(f1) do
  begin
    Readln(f1, m_word);
    mmResult.Lines.Add(m_word);
  end;

procedure TForm1.bbSelectionOfWordsClick(Sender: TObject);
begin
...
m_change:= LEditChange.Text;
  mmResult.Clear;
  m_puck:= m_word + m_change;
  mmResult.Lines.Add(m_puck);
  InS:= m_puck;
  {заполняем массив символов для генерации, пропуская одинаковые символы}
  Gen_CharArray := InS[1];
    for I := 2 to length (InS) do
     begin
       if not (InS[I] in [Gen_CharArray[1]..Gen_CharArray[length (Gen_CharArray)]]) then
       Gen_CharArray := Gen_CharArray + InS[I];
     end;
  Gen_Length := length(Gen_CharArray);
  {запускаем генерацию Gen_LastCharNo - последний символ будет иметь номер 1
  Gen_Str - пока строка пуста }
GenNext(1, '');
CloseFile(f);
CloseFile(f1);
end;
Taner вне форума Ответить с цитированием
Старый 15.04.2014, 22:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вроде и соединило строки, а вроде и нет.
Так а всетки? Отладка что говорит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2014, 04:24   #3
Taner
Пользователь
 
Регистрация: 05.04.2014
Сообщений: 54
По умолчанию

переустановил систему, при компиляции выдает ошибку "lazutf8.pas(144,3) Fatal: Can not find unit gettext used by LazUTF8." и, бросает на модуль LazUTF8 а именно на строчку
Код:
uses
  gettext
{$IFDEF Darwin}, MacOSAll{$ENDIF}
  ;

{$ifdef windows}
  {$i winlazutf8.inc}
{$else}
  {$i unixlazutf8.inc}
{$endif}
Вложения
Тип файла: rar ComparingHashes.rar (312.3 Кб, 10 просмотров)

Последний раз редактировалось Taner; 17.04.2014 в 04:27.
Taner вне форума Ответить с цитированием
Старый 17.04.2014, 06:14   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Когда переустанавливал старую удалял? Там при установке есть пункт "Удалить все предыдущие установки"
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.04.2014, 08:10   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Бог мой зачем систему дергать? Ну раз переустановил попробуй в меню Сервис нажать Пересмотр исходного для FPC/
У меня твоя прога скопилилась норм.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2014, 09:12   #6
Taner
Пользователь
 
Регистрация: 05.04.2014
Сообщений: 54
По умолчанию

Пересмотр исходного кода не помогло, сейчас что-нибудь придумаем

Последний раз редактировалось Taner; 17.04.2014 в 09:19.
Taner вне форума Ответить с цитированием
Старый 17.04.2014, 09:51   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
сейчас что-нибудь придумаем
Вероятно дело в разнице кодировок. Попробуйте везде английские буковы. Они, по-моему, во всех кодировках одинаковы. Если все сработает, то дело точно в кодировке символов при вводе и при чтении из файла. И мне не понравилась Ваша методика загрузки данных в Мемо/StringList.
Попробуйте при создании формы просто:
Код:
mmResult.LoadFromFile('word.txt');
Данный класс имеет встроенные методы для записи (SaveToFile) и чтении строк, к чему изобретать велосипед? К тому же, вероятно, там загрузка организована через потоки, а не построчно, что всяко быстрей Вашего варианта.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 17.04.2014 в 09:55.
Utkin вне форума Ответить с цитированием
Старый 17.04.2014, 10:49   #8
Taner
Пользователь
 
Регистрация: 05.04.2014
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Данный класс имеет встроенные методы для записи (SaveToFile) и чтении строк, к чему изобретать велосипед? К тому же, вероятно, там загрузка организована через потоки, а не построчно, что всяко быстрей Вашего варианта.
Переустановил lazarus все с компилировалось, в отладчике переменной InS:= boxqu, т.е. дальнейший полный перебор должен быть со словом "boxqu" а перебирает только box.

Последний раз редактировалось Taner; 17.04.2014 в 10:54.
Taner вне форума Ответить с цитированием
Старый 17.04.2014, 10:55   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
как теперь взять от туда 1..n строку и загружать в переменную?
Код:
x:=mmResult.Lines[i];
Где i переменная цикла for от 1 до n. Помните - Lines нумеруется от нуля, а не от единицы. Возможно Ваш диапазон 0..n-1.
Цитата:
т.е. дальнейший полный перебор должен быть со словом "boxqu" а перебирает только box.
Покажите алгоритм перебора, скорее всего ошибка там. И вообще, чего Вы пытаетесь добиться с помощью данного алгоритма? Вряд ли виноват Лазарус.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 17.04.2014 в 10:58.
Utkin вне форума Ответить с цитированием
Старый 17.04.2014, 11:12   #10
Taner
Пользователь
 
Регистрация: 05.04.2014
Сообщений: 54
По умолчанию

спасибо, убрал loadfromfile, сделал как было, работает трогать не буду)
Taner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базовое соединение закрыто: Соединение было неожиданно закрыто. drz72050 C# (си шарп) 0 11.04.2014 16:04
Для матрицы из 3 столбцов и 7 строк отпечатать номера тех строк, в которых третий элемент больше суммы двух других элементов строк abramov Помощь студентам 2 03.12.2013 10:15
Соединение строк одной таблицы bpystep Помощь студентам 0 19.05.2013 18:15
Перекомпиляция программы(простой) Win Lazarus в Linux Lazarus Toxifer Фриланс 0 27.11.2012 22:46
соединение строк ShenDy Общие вопросы C/C++ 4 21.01.2009 15:12