On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 1318
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 01:49. Заголовок: Беда с функцией AfterATNUM() ....


Делал обработку текстового файла (в конце строки всегда стоит CHR(13)+CHR(10) )

Не могу получить первую строку функцией AfterATNUM() .... Результирующий файл различается от входящего !
Может как нибудь по другому можно ?

Вот примерный текст программы: Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]


постоянный участник




Пост N: 1328
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 17:01. Заголовок: Dima пишет: Возможн..


Dima пишет:

 цитата:
Возможно где то косяк в твоей функции (я особо не вникал)
Хотя довольно странно



Косяк в выборке строки:
TokenInit(@cSource, cTok,, @cTokenEnv)
DO while ! TokenEnd(@cTokenEnv)
cLex := TokenNext(cSource,, @cTokenEnv)
? "Stroka:",nI++
?? ":",cLex
enddo


Отдельно даже сделал. Не работает TokenNext !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1704
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 17:07. Заголовок: Содержимое user5.txt..


Содержимое user5.txt

12345
00000
11111
w:\fond9"
22222
absder
проверка

В 4 строке Фсё сломается , хотя после нее (и до нее) все верно.......
Разделители у тебя указаны явно , ХЗ в чем дело.

Перевод строки везде есть


ЗЫ
Результат


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1329
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 18:35. Заголовок: Если заменить cTok :..


Если заменить cTok := "{}" заместо Chr(13) + Chr(10) тоже самое происходит !
Видать все таки дело в TokenNext(cSource,, @cTokenEnv) !

Хотя если убрать " - то все нормально проходит !!!
Все дело в кавычках " !!!

Надо писать разработчикам TokenNext ! Кто сможет ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1705
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 19:04. Заголовок: Andrey пишет: Надо ..


Andrey пишет:

 цитата:
Надо писать разработчикам TokenNext ! Кто сможет ?


Могу ошибаться , но кажется Павел уже занимается этим.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1330
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 19:27. Заголовок: Переделал программу ..


Переделал программу на твою функцию.
С простой строчкой нормально, с CVS-строкой содержащие кавычки (") - опять косяки !!!

Вот пример в архиве
---------- Андрей не надо выкладывать мое мыло ладно ? Ссылку потер

Утилита dub.exe - сравнение 2х-файлов. Где бы такую Виндовую взять ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1706
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 19:47. Заголовок: Andrey Уверен что в..


Andrey
Уверен что в твоем файлике каждая кавычка имеет пару (я не чекал) ?
Просто вспомнил что если открывать CSV файлик в котором есть не парные кавычки в EXCEL
то после такой кавычки (все что после нее) типа съедается EXCEL (пока не начнешь редактировать)
Впрочем о чем это я ? Excel тут не при чем , это так просто вспомнилось...

И потом , Андрей скажи ну зачем тебе в этом файле нужны кавычки ?
Сейчас
20100601,114,"SERVER-XP","Андрей",
Так уже не достаточно будет ?
20100601,114,SERVER-XP,Андрей,

В качестве разделителя если не ошибаюсь (в CSV) принято ставить ;

PS
А не парные кавычки у тебя есть по ходу , только что заметил.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1465
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.10 20:30. Заголовок: Проблема заключается..


Проблема заключается не в token в разных вариациях, а в HB_Crypt. В результате ее работы в зашифрованную строку случайным образом попадают коды #13#10, которые затем и портят всю малину

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1707
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 20:36. Заголовок: Pasha Можешь на при..


Pasha
Можешь на примере показать (если это реально) ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1708
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 20:52. Заголовок: Andrey пишет: Утил..


Andrey пишет:

 цитата:

Утилита dub.exe - сравнение 2х-файлов. Где бы такую Виндовую взять ?


Поиск поюзай ;)
На вскидку (проверил) такая функция есть в Total Commander

PS
Юзани (нужна рега)
_http://forum.ru-board.com/forum.cgi?action=filter&forum=35&filterby=topictitle&word=compare

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1466
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.10 20:56. Заголовок: А что там показывать..


А что там показывать, двоичные коды, что ли ?

результатом

hb_crypt('20100601,114,"SERVER-XP","Андрей","","w:\fond9\abonent4.exe","4.66f",20100521,"Системный а.",101,T,F,F,318288412,10,"Net","Vxod",2,"Вход успешен !",1', cPassword)

будет строка, содержащая Chr(13)+Chr(10)

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


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1709
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.06.10 21:30. Заголовок: Pasha То есть функц..


Pasha
То есть функцией hb_crypt пользоваться не следует , так как результат может быть не предсказуем...
Так ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1467
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.10 21:50. Заголовок: Нет конечно. Результ..


Нет конечно. Результатом этой функции является зашифрованная строка, содержажая коды от 0 до 255 в любой последовательности. При этом нельзя использовать никакой разделитель строк, так как этот разделитель, состоящий из одного или более символов, может оказаться в зашифрованной строке. Ей можно пользоваться, когда длина строки содержится вне строки. К примеру, если использовать такой формат: 2-4 байта - длина строки, строка, следующая строка с префиксом - ее длиной, и т.д.
Или файл с мемо-полем, что тоже самое.


Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1331
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 22:15. Заголовок: Pasha пишет: Или фа..


Pasha пишет:

 цитата:
Или файл с мемо-полем, что тоже самое.


Не хочу заморачиваться с dbf !

Pasha пишет:

 цитата:
К примеру, если использовать такой формат: 2-4 байта - длина строки, строка, следующая строка с префиксом - ее длиной, и т.д.


Вот это интересней, только не пойму как считывать строку ? Как будет выглядеть файл (2-3 строчки) ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1468
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 01.06.10 22:42. Заголовок: Примерно так. Пусть ..


Примерно так. Пусть aStr - массив строк

Запись массива строк в строку:

cStr := ""
AEval(aStr, {|c| cStr += I2Bin(len(c)) + c})

Чтение из строки в массив строк:

nPos := 1
while nPos <= len(cStr)
nLen := Bin2I(Substr(cStr, nPos, 2))
nPos += 2
AADD(aStr, Substr(cStr, nPos, nLen))
nPos += nLen
enddo

внутрь цикла можно вставить шифровку/дешифровку


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1332
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.06.10 23:03. Заголовок: Нет, ни как не въеду..


Нет, ни как не въеду !

Дай пожалуйста образец файла, как он будет выглядеть ? Черкани 3 строчки файла....

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1469
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.06.10 08:08. Заголовок: ДлинаСтр1 (2 байта) ..


ДлинаСтр1 (2 байта) Стр1 ДлинаСтр2 (2 байта) Стр2 ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1333
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.06.10 18:40. Заголовок: Pasha пишет: ДлинаС..


Pasha пишет:

 цитата:
ДлинаСтр1 (2 байта) Стр1 ДлинаСтр2 (2 байта) Стр2 ...


А как искать вхождения строк ?
по маске "(xx)" или еще как ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1470
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.06.10 20:12. Заголовок: Вхождения каких стро..


Вхождения каких строк куда надо искать ? В этой теме поиск вхождения строк мы еще не обсуждали

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1334
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.06.10 20:51. Заголовок: Pasha пишет: Чтение..


Pasha пишет:

 цитата:
Чтение из строки в массив строк:

nPos := 1
while nPos <= len(cStr)
nLen := Bin2I(Substr(cStr, nPos, 2))
nPos += 2
AADD(aStr, Substr(cStr, nPos, nLen))
nPos += nLen
enddo


Я вот про это .....

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1471
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.06.10 21:02. Заголовок: Андрей, ты говоришь ..


Андрей, ты говоришь загадками... Что-то с этим кодом непонятно ? И при чем здесь вхождение строк ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 52 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 23
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет