Вверх ↑
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
#1: 2010-06-18 20:19:35 ЛС | профиль | цитата
Помогите пожалуйста удалить символы перевода строки из текстового файла. Чтобы все строки были в одной длинной строке. Пытался в компонент Trim вводить Ввод, получалось что-то вроде
, но это не помогло. Хочу написать компилятор, то есть почти компилятор - обфускатор... Интересно, как компилятор вычищает ненужные пробелы - по названиям зарезервированных слов?
------------ Дoбавленo в 20.19:
Всем спасибо, заработало, опять же с помощью Trim и
- в первый раз видимо что-то не так сделал.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 3349
Рейтинг: 233
#2: 2010-06-18 20:29:14 ЛС | профиль | цитата
Aziz, Trim удаляет символы с начала и конца, не проще ли Replace ?
карма: 1

0
Ответов: 1291
Рейтинг: 47
#3: 2010-06-18 20:53:07 ЛС | профиль | цитата
Черт, опять ошибся, я именно с помощью Replace это осуществил. Бессонные ночи сказываются. Производительность моска снижается..))) Спасибо, Ivann.
------------ Дoбавленo в 20.53:
Слышали наверное, про защиту кода с помощью обфускации - конкретно CodeMixer http://www.codemixer.ru/ . C виду простая программа и логика, но алгоритм - моск об комп сломаешь, пока что-то получится. Недаром ее писали 4 года. А я пытался за день повторить.. Так всю ночь и ломал голову - столько проблем сразу вылезло, - обработка вложенных циклов и т.п., что те 66 $ что просит ее автор показались смешной суммой, чем самому парить мозг... Но я еще не сдался... Кстати, интересное направление программирования. По идее компиляторы также работают - разбирают выражения и преобразуют их? Если у кого есть желание это направление развивать, можно объединиться.))1 моск хорошо, 2 лучше.))
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 3349
Рейтинг: 233
#4: 2010-06-18 20:56:23 ЛС | профиль | цитата
Aziz, предлагаешь писать компилятор на HIasm?
карма: 1

0
Ответов: 1161
Рейтинг: 160
#5: 2010-06-18 20:58:24 ЛС | профиль | цитата
Ivann писал(а):
предлагаешь писать компилятор на HIasm

Компилятор - нет, интерпретатор - возможно...
карма: 0

0
Ответов: 3349
Рейтинг: 233
#6: 2010-06-18 20:59:01 ЛС | профиль | цитата
LainX, я про тоже.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2010-06-18 21:39:50 ЛС | профиль | цитата
Aziz писал(а):
По идее компиляторы также работают - разбирают выражения и преобразуют их?

если точнее, то - разбирают, строят дерево, оптимизируют, генерируют байт код целевой платформы.
карма: 27
0
Ответов: 1291
Рейтинг: 47
#8: 2010-06-18 22:26:57 ЛС | профиль | цитата
Нет, про компилятор это шутка. Перемешиватель кода - наверное полегче. Хотя это дерево графов управления, что он использует, - тоже не из простых... Но зато не скучно - чем мне и нравится программирование - покруче игры в шахматы, вечно какие-то новые загадки и задачи выскакивают... Недавно читал статью про защиту программ - про StarForce, что там применяется исполнение кода на виртуальной машине - вот там вообще голову сломишь... Если она не вооружена до зубов знаниями и опытом.)) Похоже обфускатор совсем обфусцировал мой моск.))
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1291
Рейтинг: 47
#9: 2013-05-22 22:07:29 ЛС | профиль | цитата
Вот опять никак не могу заставить схему удалять только пробелы и не трогать символы *{} :

code_31059.txt

Чего только не пробовал, IC тоже (оператором Trim). Пока не нашел инфу что вышеупомянутые символы - символы комментария и приравниваются к пробелу и пустой строке и потому удаляются. Есть ли способ их сохранить в тексте?
------------ Дoбавленo в 20.51:
Причем если перед или после этих символов вставить какой-то символ, то они копируются.
------------ Дoбавленo в 21.36:
Похоже, даже через массив не считываются эти символы - если убрать компонент Trim и соединить напрямую. То есть проблема не в нем:
Add(Button,7924421,70,203)
{
Left=10
Top=170
link(onClick,7753039:doEvent1,[])
}
Add(Memo,10976816,224,49)
{
Left=135
Top=50
Width=135
Height=175
Strings=#11: int init()|1:{|0:|1:}|1:*|0:|
ScrollBars=3
}
Add(ArrayEnum,12626480,231,203)
{
link(onItem,9142028:doAdd,[(270,209)(270,55)])
link(Array,10976816:Array,[(237,103)(244,103)])
}
Add(Hub,7753039,168,203)
{
link(onEvent1,9142028:doClear,[(193,209)(193,41)(326,41)(326,62)])
link(onEvent2,12626480:doEnum,[(193,216)(193,209)])
}
Add(Memo,9142028,336,49)
{
Left=335
Top=50
Width=140
Height=180
ScrollBars=3
}


------------ Дoбавленo в 22.06:
Удалось решить задачу только так, заменив массив перебором строки с разделителем (перенос строки):

Add(Button,7924421,70,203)
{
Left=10
Top=170
link(onClick,7753039:doEvent1,[])
}
Add(Memo,10976816,224,49)
{
Left=135
Top=50
Width=135
Height=175
Strings=#11: int init()|2: {|0:|1:}|2: *|1:*|2: &|2: [|1:]|2: (|1:)|0:|
ScrollBars=3
}
Add(Memo,9142028,336,49)
{
Left=335
Top=50
Width=140
Height=180
ScrollBars=3
}
Add(Hub,7753039,168,203)
{
link(onEvent1,9142028:doClear,[(193,209)(193,41)(326,41)(326,62)])
link(onEvent2,14625534:doEnum,[(193,216)(193,223)(186,223)(186,139)])
}
Add(Trim,4846677,301,112)
{
Char=" "
link(onTrim,9142028:doAdd,[(340,118)(340,104)(319,104)(319,55)])
}
Add(Str_Enum,14625534,203,133)
{
Delimiter="
"
link(onEnum,4846677:doTrim,[(242,139)(242,118)])
link(String,10976816:Text,[(209,103)(230,103)])
}


------------ Дoбавленo в 22.07:
Значит через массивы эти символы недоступны? Спасибо.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1code_31059.txt [657B] [373]
Разработчик
Ответов: 26149
Рейтинг: 2127
#10: 2013-05-22 22:12:13 ЛС | профиль | цитата
Aziz писал(а):
code_31059.txt

А в чем ошибка, собственно Ничче не понял

bug_1101.png
карма: 22

0
файлы: 1bug_1101.png [22.8KB] [658]
Ответов: 1291
Рейтинг: 47
#11: 2013-05-22 22:54:06 ЛС | профиль | цитата
nesco, это вы самый мой последний пример наверное запустили, где я без массива обошелся, использовав

Add(Str_Enum,9936431,357,560)
{
Delimiter="
"
}


А с "переборщиком массива" Add(ArrayEnum,11187158,364,287){}
эти символы он вырезает.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#12: 2013-05-22 23:01:01 ЛС | профиль | цитата
Aziz писал(а):
это вы самый мой последний пример наверное запустили

Ты читать умеешь
Aziz писал(а):
code_31059.txt

Aziz писал(а):
эти символы он вырезает

Ничего он не вырезает, никакие символы. Ни одна твоя схема у меня ничего не вырезала. Чья сборка стоит, и какой KOL
карма: 22

0
Ответов: 1291
Рейтинг: 47
#13: 2013-05-23 08:16:35 ЛС | профиль | цитата
nesco, читать на ночь глядя не умеем-с, факт.. Я сейчас вообще понял что телек (особенно НТВ) и электричество - Зло, поэтому как Солнце садится, свет не включаю, чтоб нормально уснуть и рано встать.. Иначе весь режим дня летит к чертям.. Так что я читал твой пост во тьме.

По теме Хасм 4.04 b.185, версию КОЛа не знаю как узнать - дата файла kol.dcu 15.10.2004, размер 625774.

Но на версии Хиасма обновляемой с SVN - действительно, все ОК. Пожет подскажешь, что мне нужно подправить в старой, рабочей версии
array_bug.gif
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1array_bug.gif [9.6KB] [664]
Ответов: 9906
Рейтинг: 351
#14: 2013-05-23 08:35:23 ЛС | профиль | цитата
Aziz писал(а):
nesco, читать на ночь глядя не умеем-с, факт..

вообще-то, я тоже ничего не понял.
Альтернативная гипотеза: может писать не умеем ???
карма: 9

0
Ответов: 1291
Рейтинг: 47
#15: 2013-05-23 08:45:10 ЛС | профиль | цитата
Под FPC все работает..Galkov, а что там непонятного-то? Может на англ. написать еще? Могу.. Первая, самая первая схема (code_31059.txt) - вырезает У МЕНЯ вышеуказанные символы (*{}). Скрин приложил. Ну раз не понимаете, значит не судьба мне с этим багом разобраться. Яснее объяснить не могу. Всем спасибо.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)