Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lazarus

Войти
Регистрация
Восстановить пароль
 
maksmkv
2 / 2 / 1
Регистрация: 29.08.2012
Сообщений: 111
#1

Как оптимизировать код? - Lazarus

16.10.2014, 00:13. Просмотров 339. Ответов 4
Метки нет (Все метки)

Есть такой кусок кода:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.А', Memo2.Lines.Strings[j]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.А', 'А', [rfReplaceAll, rfIgnoreCase]);
    end;
     for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.Б', Memo2.Lines.Strings[i]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.Б', 'Б', [rfReplaceAll, rfIgnoreCase]);
    end;
     for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.В', Memo2.Lines.Strings[i]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.В', 'В', [rfReplaceAll, rfIgnoreCase]);
    end;
     for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.Г', Memo2.Lines.Strings[i]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.Г', 'Г', [rfReplaceAll, rfIgnoreCase]);
    end;
 
    ........................................................
 
    for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.Ю', Memo2.Lines.Strings[i]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.Ю', 'Ю', [rfReplaceAll, rfIgnoreCase]);
    end;
    for j:=0 to Memo2.Lines.Count-1 do
    begin
      if Pos('кв.Я', Memo2.Lines.Strings[i]) >0 then
      Memo2.Lines.Strings[j]:=StringReplace(Memo2.Lines[j], 'кв.Я', 'Я', [rfReplaceAll, rfIgnoreCase]);
    end;
Есть набор строк в Memo2.Text - код пробегает по каждой стоке и ищет совпадение, например: в строке встречается фараза кв.Ю - удаляем кв. и оставляем только букву Ю.
1. Как можно весь этот код переписать - у меня сделано таким образом для всех букв алфавита и для маленьких и для больших.
2. Почему при замене кв.Я - получается буква П. ??? Хотя все остальные буквы обрабатываются норм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2014, 00:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как оптимизировать код? (Lazarus):

работа со строчкой: помогите оптимизировать мой тупой код) - Delphi
Что имеем: строчку в которой записан процесс разложения числа на множетели ,вида 512=2*2*2*2*2*2*2*2*2, а нужно что бы выводило 512=2^9 или...

Утечка, или как оптимизировать программу? - Delphi
Есть небольшая программа для определения активного окна юзера и внесения в базу данных с определенным интервалом. Проблема в...

Как оптимизировать код? - PHP БД
как можно вместо кучи строк добавить цикл в запрос на MySQL? if (empty($error)) { $trainer_id = $_POST; $trainer_name =...

Как оптимизировать код? - C++
Вот такой код, написанный для микроконтроллера импульсного блока питания. Просто интересно мнение, что можно поменять и изменить для...

Как оптимизировать код - Delphi
Помогите с "оптимизацией"... Подскажите как проще реализовать такой код? Знаю, что есть более простой вариант решения, по это и ищу.. ...

Как оптимизировать код? - C#
Подскажите пожалуйста, как в данном коде избавиться от необходимости каждый раз перед тригонометрическими методами прописывать название...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25536 / 17089 / 5417
Регистрация: 22.10.2011
Сообщений: 30,261
Записей в блоге: 7
16.10.2014, 01:00 #2
Замени весь этот ужас на:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses LCLProc;
 
// ...
var
  s, sub: string;
  i: integer;
begin
  s := 'АБВГДЕ...ЭЮЯабвгде...эюя'; // алфавит дополни сам ...
  for i := 1 to UTF8Length(s) do
  begin
    sub := UTF8Copy(s, i, 1);
    Memo2.Text := StringReplace(Memo2.Text, 'кв.' + sub, sub, [rfReplaceAll, rfIgnoreCase]);
  end;
end;
Добавлено через 1 минуту
Цитата Сообщение от maksmkv Посмотреть сообщение
Почему при замене кв.Я - получается буква П. ???
Не воспроизводится. Нормально убирается и "кв." перед "Я", ничего не меняется...
0
maksmkv
2 / 2 / 1
Регистрация: 29.08.2012
Сообщений: 111
17.10.2014, 01:25  [ТС] #3
Не работает код (((, а точнее не совсем так как хотелось бы.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25536 / 17089 / 5417
Регистрация: 22.10.2011
Сообщений: 30,261
Записей в блоге: 7
17.10.2014, 02:16 #4
Ну, значит, бери и пиши так, как хотелось бы. Сам... Потому как я не телепат, и что тебе там "хотелось бы" - не знаю. А теперь уже и знать не хочу... Ибо неинтересно. Опять потратишь на тебя время, и что в ответ? Опять "не так, как хотелось бы"? Плавали, знаем таких...

Не по теме:

Вот и помогай после этого людям. Выложил рабочее решение, так "не так как хотелось бы", чтобы скопировать и сдать... Самому надо допиливать к остальному фиг знает как написанному коду, оказывается... Вот незадача-то

0
maksmkv
2 / 2 / 1
Регистрация: 29.08.2012
Сообщений: 111
17.10.2014, 23:51  [ТС] #5
Код отлично заработал, но остались вопросы. Постарался изложить в личку. Я не прошу писать полностью код, но переделав чуть под себя - не заработал. Не более того. Спасибо, что помогаете.
0
17.10.2014, 23:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2014, 23:51
Привет! Вот еще темы с ответами:

Как оптимизировать код? - PascalABC.NET
ch : char; ... If ch='1' then Write(F2, ch); If ch='2' then Write(F2, ch); If ch='3' then Write(F2, ch); If ch='4' then...

как оптимизировать код? - C#
Есть несколько dbf файлов. Из них в разные обьекты нужно получить список строк. Для этого написал класс public class connDBF { ...

Как оптимизировать код? - C++
Как оптимизировать код, чтобы работала программа быстрее #include <iostream> #include <fstream> #include <iomanip> using namespace...

Как оптимизировать код ? - jQuery
Как привести его в порядок ? $(document).ready(function(){ var otherVideo = $('div.video-item'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru