powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Форматирование текста
25 сообщений из 74, страница 2 из 3
Форматирование текста
    #39528020
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няшик,

и так, ни одной строки кода, где "гоняются строки по много раз" строки, ты не привел. Невменяемость.

НяшикПервая переменная bool всегда в false.
Еще раз: это локальная переменная. Упоротость.

И "Лошарик" - это слишком мягко.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528021
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДНяшик,

и так, ни одной строки кода, где "гоняются строки по много раз" строки, ты не привел. Невменяемость.

НяшикПервая переменная bool всегда в false.
Еще раз: это локальная переменная. Упоротость.

И "Лошарик" - это слишком мягко.

Всё что надо, я уже привёл в данном сообщение 20830577

Няшик
Код: pascal
1.
2.
3.
4.
  repeat
      j := Pos('  ',S);
      if j > 0 then S := StringReplace(S,'  ',' ',[rfReplaceAll]);
    until j = 0;




Логик, вовсе не я ... В данном коде уже и гоняется одна единственная строка очень много раз.

Ты когда машину покупаешь, и производитель подсовывает не настроенный карбюратор который сосёт бенз понапрасну. Тоже будешь защищать? Ну тогда лашарик больше подходит не мне. А..


В общем, не вижу повода больше продолжать с тобою разговор. Тема превращается в муссор от твоих сообщений упортых
...
Рейтинг: 0 / 0
Форматирование текста
    #39528137
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикЭти функции плохи тем, что они гоняют одни и те же строки по много раз. И тормозят код во много. Мой же код, использует два цикла. Один, что бы прогнать основную строку, и второй - убрать лишние пробелы.

Просто - та кода. А у вас - дикий лес из тормозов.


Полезные ресурсы тратите попросту.

Расскажи это веб-программистам (на том же PHP/Javascript). Там под капотом столько трат полезных ресурсов, что впору кампанию за спасение вселенной от тепловой смерти организовывать.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528145
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiРасскажи это веб-программистам (на том же PHP/Javascript). Там под капотом столько трат полезных ресурсов, что впору кампанию за спасение вселенной от тепловой смерти организовывать.

Веб - это веб, и там бесполезно что либо говорить. А тут - всё в руках самого программиста.

По этому, я и пишу свой интерпретатор.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528183
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш код с указателями труден для понимания начинающим программистам.
Если человек не может самостоятельно написать элементарный код с заменой пробелов, то о каких указателях может идти речь ?
О скорости для разовой операции в 100к строк говорить не приходится. 5 секунд не имеют никакого значения
...
Рейтинг: 0 / 0
Форматирование текста
    #39528203
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

=_= Если спорить о понимании указателей, и с тем - как работать с данными функциями Pos и StringReplace, с их аргументами и.т.д.

То указатели это маленькие ясли. По сравнению с бугаями

Код: pascal
1.
var1 = P^; // Берём указатель на текущий элемент



Код: pascal
1.
var1 = (P + 1)^;  // Смещаем указатель на SizeOf(P) * 2. И берём текущий  элемент. 




Код: pascal
1.
inc(p); // Просто перемещаем на следующий элемент, текущий указатель p = p  + (SizeOf(P) * 2);



Ай как сложно.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528212
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикВеб - это веб, и там бесполезно что либо говорить. А тут - всё в руках самого программиста.

По этому, я и пишу свой интерпретатор.

На ассемблере, чтобы впустую ценные ресурсы не тратить ?
...
Рейтинг: 0 / 0
Форматирование текста
    #39528217
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiНа ассемблере, чтобы впустую ценные ресурсы не тратить ?

Это уже идеологии. Даже на c++ используют ассемблер, дабы оптимизировать - то, что не оптимизируется.

В частности, это какие нибудь инструменты по работе с изображением, и.т.д.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528262
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикКто сказал что не решает?Я. Прочти внимательнее что именно надо ТС-у
...
Рейтинг: 0 / 0
Форматирование текста
    #39528300
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerНяшикКто сказал что не решает?Я. Прочти внимательнее что именно надо ТС-у

Приношу извинения за свою не внимательность. Между словами, на символ таба

Вот реализация

Код: pascal
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.
function RepSpToTabs(const str: string): string;
var
  l, r, c: Integer;
  w: Boolean;
begin
  l := Length(str);
  SetLength(Result, l);

  w := False;
  r := 1;
  c := 1;
  while r <= l do
  begin
    if w and (str[r] = ' ') and (str[r + 1] = ' ') then
    begin
      Result[c] := #$9;
      inc(r, 2);
      while str[r] = ' ' do
        inc(r);
    end
    else
    begin
      Result[c] := str[r];
      w := str[r] <> ' ';
      inc(r);
    end;
    inc(c);
  end;
  SetLength(Result, r - 1);
end;

...
Рейтинг: 0 / 0
Форматирование текста
    #39528411
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrО скорости для разовой операции в 100к строк говорить не приходится. 5 секунд не имеют никакого значения
Кто сказал, что для разовой?
А если это постоянная операция, параллельно выполняемая в сотне потоков по 10000 раз?
Во и будет разница. Не то, что секунды важны. Проценты прироста производительности бывают важны.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528498
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няшикwhite_niggerпропущено...
Я. Прочти внимательнее что именно надо ТС-у

Приношу извинения за свою не внимательность. Между словами, на символ таба

Вот реализация

Код: pascal
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.
function RepSpToTabs(const str: string): string;
var
  l, r, c: Integer;
  w: Boolean;
begin
  l := Length(str);
  SetLength(Result, l);

  w := False;
  r := 1;
  c := 1;
  while r <= l do
  begin
    if w and (str[r] = ' ') and (str[r + 1] = ' ') then
    begin
      Result[c] := #$9;
      inc(r, 2);
      while str[r] = ' ' do
        inc(r);
    end
    else
    begin
      Result[c] := str[r];
      w := str[r] <> ' ';
      inc(r);
    end;
    inc(c);
  end;
  SetLength(Result, r - 1);
end;



Ты уверен, что твоя реализация работает ? Я не уверен.
В этой строчке условие должно выполняться, если следуют три пробела подряд.

Код: pascal
1.
 if w and (str[r] = ' ') and (str[r + 1] = ' ') then
...
Рейтинг: 0 / 0
Форматирование текста
    #39528539
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiНяшикпропущено...


Приношу извинения за свою не внимательность. Между словами, на символ таба

Вот реализация

Код: pascal
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.
function RepSpToTabs(const str: string): string;
var
  l, r, c: Integer;
  w: Boolean;
begin
  l := Length(str);
  SetLength(Result, l);

  w := False;
  r := 1;
  c := 1;
  while r <= l do
  begin
    if w and (str[r] = ' ') and (str[r + 1] = ' ') then
    begin
      Result[c] := #$9;
      inc(r, 2);
      while str[r] = ' ' do
        inc(r);
    end
    else
    begin
      Result[c] := str[r];
      w := str[r] <> ' ';
      inc(r);
    end;
    inc(c);
  end;
  SetLength(Result, r - 1);
end;



Ты уверен, что твоя реализация работает ? Я не уверен.
В этой строчке условие должно выполняться, если следуют три пробела подряд.

Код: pascal
1.
 if w and (str[r] = ' ') and (str[r + 1] = ' ') then



Уверен
Код: pascal
1.
  w := str[r] <> ' ';
...
Рейтинг: 0 / 0
Форматирование текста
    #39528543
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няшикschiпропущено...


Ты уверен, что твоя реализация работает ? Я не уверен.
В этой строчке условие должно выполняться, если следуют три пробела подряд.

Код: pascal
1.
 if w and (str[r] = ' ') and (str[r + 1] = ' ') then



Уверен
Код: pascal
1.
  w := str[r] <> ' ';



Код: pascal
1.
2.
     w := str[r] <> ' ';
      inc(r);



r уже на следующий неизвестный символ строки указывает

Код: pascal
1.
 if w and (str[r] = ' ') and (str[r + 1] = ' ') then



В этом случае, чтобы сработало условие, нужно, чтобы символ по текущему r-1 б был равен пробелу (чтобы w стало истинным), символ по текущему r был пробелом и символ по r+1 был пробелом.
Итого, три пробела подряд заменяются табом.

А за идентфикатор l, который легко принять за 1 тебе в аду будет отдельная сковородка приготовлена, с ускоренным подогревом.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528578
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi,

Кхм. Мы смотрим - не был ли текущий символ пробелом, если нет, то true.


Я ничего тебе объяснять не хочу. Я всего лишь приложу скриншот.

...
Рейтинг: 0 / 0
Форматирование текста
    #39528580
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случайно срезал один символ пока копировал


Код: pascal
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils;

function RepSpToTabs(const str: string): string;
var
  l, r, c: Integer;
  w: Boolean;
begin
  l := Length(str);
  SetLength(Result, l);

  w := False;
  r := 1;
  c := 1;
  while r <= l do
  begin
    if w and (str[r] = ' ') and (str[r + 1] = ' ') then
    begin
      Result[c] := #$9;
      inc(r, 2);
      while str[r] = ' ' do
        inc(r);
    end
    else
    begin
      Result[c] := str[r];
      w := str[r] <> ' ';
      inc(r);
    end;
    inc(c);
  end;
  SetLength(Result, r - 1);
end;

var
  str: string;

begin
  try
    str := '  g 54           6767         67  rh';
    str := RepSpToTabs(str);
    Writeln(str);
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.

...
Рейтинг: 0 / 0
Форматирование текста
    #39528582
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрин отладки ещё приложу

...
Рейтинг: 0 / 0
Форматирование текста
    #39528589
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiА за идентфикатор l, который легко принять за 1 тебе в аду будет отдельная сковородка приготовлена, с ускоренным подогревом.

не.
он не понимает
...
Рейтинг: 0 / 0
Форматирование текста
    #39528592
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguin
не.
он не понимает

Да какая разница, если пример демонстрационный. У некоторых мозги в кашку поехали, от лени с этими функциями pos и str replace

Такое чувства что сложное что они делают, это дают правильные и красивые имена переменным, и на этом в общем - то всё.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528595
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверно дальтоником надо быть, что бы спутать синюю букву с чёрной

...
Рейтинг: 0 / 0
Форматирование текста
    #39528599
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикНаверно дальтоником надо быть, что бы спутать синюю букву с чёрной



рад за ваше зрение

но все таки
Джон Ф. ВудсПишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528602
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguinно все таки
Джон Ф. ВудсПишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте.

...
Рейтинг: 0 / 0
Форматирование текста
    #39528639
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Няшик]Наверно дальтоником надо быть, что бы спутать синюю букву с чёрной


Код: pascal
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.
34.
35.
36.
37.
38.
39.
function RepSpToTabs(const str: string): string;
var
  l, r, c: Integer;
  w: Boolean;
begin
  l := Length(str);
  SetLength(Result, l);

  w := False;
  r := 1;
  c := 1;
  while r <= l do
  begin
    if w and (str[r] = ' ') and (str[r + 1] = ' ') then
    begin
      Result[c] := #$9;
      inc(r, 2);
      while str[r] = ' ' do
        inc(r);
    end
    else
    begin
      Result[c] := str[r];
      w := str[r] <> ' ';
      inc(r);
    end;
    inc(c);
  end;
  SetLength(Result, r - 1);
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  S: string;
begin
  S := RepSpToTabs(Edit1.Text);
  Edit2.Text := StringReplace(S, #9, '#9', [rfReplaceAll]);
end;



Отлаживайся. Я могу набрать строку, в которой в начале несколько пробелов - результат получается более чем занимательный.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528640
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няшик,

Все оптимизаторы одинаковые, выкладывают портянку нечитаемого и косячного кода за портянкой, обливая всех дерьмом попутно.
...
Рейтинг: 0 / 0
Форматирование текста
    #39528642
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi,

Я не понимаю, что мне отлаживать???.... Автору надо заменить более двух пробелов , после слова


...
Рейтинг: 0 / 0
25 сообщений из 74, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Форматирование текста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]