|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Здравствуйте Возможно ли Interbase указать значок переноса строки? или как-то указывать коды ASCII? Т. е. мне нужно получить следующее str=str1||<перенос строки>||str2||<перенос строки>||str3 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2002, 14:04 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Привет. Недавно, после чтения док по Postgre, сам такое спрашивал и сказали вот что: Спец. символов нет, но можно: 1 использовать УДФ 2 создать таблицу соотв. кодов символов и самих символов (можно в варианте поля типа массив) и использовать это. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2002, 14:46 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Вот я сейчас как раз эту UDF функцию и пишу. Просто хотел узнать можно ли это сделать проще. Спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2002, 14:56 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Кстати, на всякий случай если кому понадобиться то такая функция уже есть, надо ее только подключить. DECLARE EXTERNAL FUNCTION ASCII_CHAR INTEGER RETURNS CHAR(1) ENTRY_POINT 'IB_UDF_ascii_char' MODULE_NAME 'ib_udf'; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2002, 09:55 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Тема конечно старая, но может еще кому понадобится. Когда-то сталкивался с такой проблемой. Решил ее топорно. Из хранимки возврашаю строку: str = str1 || ^ || str2 || ^ || str3 Возвращал строку в Delphi. А там уже Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 15:04 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
МегаМозг, ты некрофил и тормозГ. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 15:09 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSeryМегаМозг, ты некрофил и тормозГ. Код: plaintext 1. 2. 3.
А вдруг под Linux'ом в crlf окажется '\x0a\x20' вместо ожидаемых '\x0d\x0a'? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 15:36 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Поскольку ascii_char уже давно имеет статус SDF, то все сломаные копья - на свалку. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 15:52 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtА вдруг под Linux'ом в crlf окажется '\x0a\x20' вместо ожидаемых '\x0d\x0a'? ;) Кем ожидаемых? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 16:13 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSeryDzirtА вдруг под Linux'ом в crlf окажется '\x0a\x20' вместо ожидаемых '\x0d\x0a'? ;) Кем ожидаемых? Тобой, кем же еще... Я же твой пост процитировал. Ты бы хотя бы VarChar(2) объявил. PS: Хотя я уже слышу ответ, что-то типа "я Линуксом не пользуюсь, мне это не интересно" ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 16:24 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Hello, Dzirt! You wrote on Thu, 02 Jul 09 13:24:18 GMT: Dzirt D> PS: Хотя я уже слышу ответ, что-то типа "я Линуксом не пользуюсь, мне это не интересно" ;)серверу пох, на какой он платформе. перенос строки формирует инструмент, которым ты альтеришь процедуру. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 16:31 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
> Автор: Dzirt > WildSery > Кем ожидаемых? > Тобой, кем же еще... Я же твой пост процитировал. Ты бы хотя бы VarChar(2) объявил. А задлянафига там варчар?, там что может быть переменное количество символов? > PS: Хотя я уже слышу ответ, что-то типа "я Линуксом не пользуюсь, мне это не интересно" ;) Да по моему он как раз и сидит на линуксах Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 16:31 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Мимопроходящий Hello, Dzirt! You wrote on Thu, 02 Jul 09 13:24:18 GMT: Dzirt D> PS: Хотя я уже слышу ответ, что-то типа "я Линуксом не пользуюсь, мне это не интересно" ;)серверу пох, на какой он платформе. перенос строки формирует инструмент , которым ты альтеришь процедуру. Я как раз об этом и написал, если ты не заметил... Могу и уточнить - инструментом может выступить любой текстовый редактор под Linux, в котором будет набран и сохранен скрипт, который будет выполнен через isql. Текстовый редактор в качестве перевода строки вставит одиночный \x0a, а пробел добавит уже сервер т.к. переменная объявлена CHAR(2), а одиночный \x0a занимает только один символ. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 17:13 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Игорь Горбонос > Автор: Dzirt > WildSery > Кем ожидаемых? > Тобой, кем же еще... Я же твой пост процитировал. Ты бы хотя бы VarChar(2) объявил. А задлянафига там варчар?, там что может быть переменное количество символов? ... Вот задля того, чтобы под Linux в переменной crlf не получилось '\x0a\x20'. Предыдущий пост почитай... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 17:14 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Оказалось все еще интереснее :) isql от 2.1.3.18182 даже под Windows пересылает на сервер переводы строки в виде одного символа \x0a (\x0d просто удаляется). Поэтому если скрипт Код: plaintext 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.
'!\x0a\x20!' - после isql '!\x0d\x0a!' - после IBEScript Даже не понадобилось эмулировать переводы строки в стиле Unix чтобы добиться неопределенного поведения... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 17:43 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Hello, Dzirt! You wrote on Thu, 02 Jul 09 14:43:24 GMT: Dzirt D> Оказалось все еще интереснее :) isql от 2.1.3.18182 даже под Windows D> пересылает на сервер переводы строки в виде одного символа \x0a (\x0d просто удаляется).в трекер, будьте так любезны. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 17:47 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtТобой, кем же еще... Я же твой пост процитировал. Ты бы хотя бы VarChar(2) объявил. А, ты о длине. Ну пусть будет варчар. У меня клиенты - виндовые. И где там сервер стоит, не важно. Кстати, все линуксовые, сервера, в смысле. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 18:00 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSeryDzirtТобой, кем же еще... Я же твой пост процитировал. Ты бы хотя бы VarChar(2) объявил. А, ты о длине. Ну пусть будет варчар. У меня клиенты - виндовые . И где там сервер стоит, не важно. Кстати, все линуксовые, сервера, в смысле. Я как раз писал чуть выше о возможном ответ "у меня не Linux, мне пофиг" :) А на самом деле (я чуть выше написал об этом) значение имеет не клиент, а то средство, которым ты процедуру создавал - если это был isql из скрипта, то ты как раз во всех своих клиентах получишь лишний пробел. О чем я тебе и пишу уже в который раз, а ты не читаешь... :/ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 18:47 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Мимопроходящий Hello, Dzirt! You wrote on Thu, 02 Jul 09 14:43:24 GMT: Dzirt D> Оказалось все еще интереснее :) isql от 2.1.3.18182 даже под Windows D> пересылает на сервер переводы строки в виде одного символа \x0a (\x0d просто удаляется).в трекер, будьте так любезны. Зачем? Если не секрет, конечно... Я не считаю это поведение неправильным. Я считаю неправильным тот способ, которым предлагалось получить в переменной символ(ы) перевода строки. Потому что... уже не хочется повторяться. Не нужно просто советовать такой способ. Правильный способ на мой взгляд такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 18:52 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Hello, Dzirt! You wrote on Thu, 02 Jul 09 15:52:49 GMT: Dzirt D> Зачем?потому, что палочки должны быть попендикулярны! (С) -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 18:55 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtЯ как раз писал чуть выше о возможном ответ "у меня не Linux, мне пофиг" :) А на самом деле (я чуть выше написал об этом) значение имеет не клиент, а то средство, которым ты процедуру создавал - если это был isql из скрипта, то ты как раз во всех своих клиентах получишь лишний пробел. О чем я тебе и пишу уже в который раз, а ты не читаешь... :/ Что я не читаю? У тебя клиенты под линуксом работают? Текст многострочный имеет смысл выдавать только на клиента. Как это он не имеет значение? Вариант с фиксированным ascii_char(10) как раз практически никого не устроит, за редким исключением. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 19:29 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSery... Что я не читаю? У тебя клиенты под линуксом работают? Текст многострочный имеет смысл выдавать только на клиента. Как это он не имеет значение? Вариант с фиксированным ascii_char(10) как раз практически никого не устроит, за редким исключением. Еще раз, медленно, по буквам - если создать процедуру с кодом, который ты привет в самом начале (там где ... crlf CHAR(2) ), из скрипта через isql -i script.sql, и как к тому же оказалось вовсе не обязательно под Linux, то в результате в переменной crlf будет два символа - перевод строки (0x0A) и ПРОБЕЛ. Поэтому на клиента вернется текст в переводом строки и ЛИШНИМ ПРОБЕЛОМ. Уже даже не знаю как бы тебе еще понятнее объяснить... Вот тебе скрипт: Код: plaintext 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.
Код: plaintext 1. 2. 3. 4. 5. 6.
Теперь хоть тебе понятно о чем я говорю? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 20:19 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Еще раз, медленно, по буквам - если создать процедуру с кодом, который ты привет в самом начале (там где ... crlf CHAR(2) ), из скрипта через isql -i script.sql, и как к тому же оказалось вовсе не обязательно под Linux, то в результате в переменной crlf будет два символа - перевод строки (0x0A) и ПРОБЕЛ. Для бестолковых МП же сказал, что какие фигни будут "переводом строк" зависит: МПперенос строки формирует инструмент, которым ты альтеришь процедуру. - Чего нипанятна?? Хоть в курсе, почему там 2 "знака", а не один? Dzirt Поэтому на клиента вернется текст в переводом строки и ЛИШНИМ ПРОБЕЛОМ. Задрали Комикзы... Винде - #13#10, а Маках - #10#13 А в комигзах... (Не-е-е, не могу я в приличном опчестве сказать куда им девать лишний пробел) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 20:40 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Di_LIne (Не-е-е, не могу я в приличном опчестве сказать куда им девать лишний пробел) Это ещё ерунда, а вот если у БД случиться defaul character set utf8, то им придётся озаботиться куда бы девать пять лишних пробелов... VarChar - самый идеологически правильный тип! Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 20:50 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtЕще раз, медленно, по буквам - если создать процедуру с кодом, который ты привет в самом начале (там где ... crlf CHAR(2) ), из скрипта через isql -i script.sql, и как к тому же оказалось вовсе не обязательно под Linux, то в результате в переменной crlf будет два символа - перевод строки (0x0A) и ПРОБЕЛ. Поэтому на клиента вернется текст в переводом строки и ЛИШНИМ ПРОБЕЛОМ. Уже даже не знаю как бы тебе еще понятнее объяснить... Ещё раз, медленно, по буквам - если не пользоваться isql с только что найденной тобой ошибкой, и сделать-таки varchar(2), с каковой поправкой я согласился, то на чём работает КЛИЕНТ, под ту систему и будет скомпилен ПЕРЕНОС СТРОКИ. Безо всяких дополнительных проверок унутре процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 21:24 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSery если не пользоваться isql с только что найденной тобой ошибкой Это не ошибка, это фича. isql приводит переводы строки перед отправкой в БД и после получения. Отсюда, кстати, растут ноги удвоения возврата каретки, на которое тут жаловались недавно: isql несколько неправильно обращается с исходниками, который в БД загнаны другими инструментами. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2009, 21:55 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSery... Ещё раз, медленно, по буквам - если не пользоваться isql с только что найденной тобой ошибкой, и сделать-таки varchar(2), с каковой поправкой я согласился, то на чём работает КЛИЕНТ, под ту систему и будет скомпилен ПЕРЕНОС СТРОКИ . Безо всяких дополнительных проверок унутре процедуры. Ну да, примерно так и есть... И если процедуру создать из-под Windows и даже с Varchar(2) получить перевод строки в виде \x0d\x0a, то клиент работающий под Linux будет очень удивлен вот этому \x0d, точнее он не удивится, а выведет его на экран (и в зависимости от того, где конкретно это случится можно получить много вариантов...) и кроме того, у такого клиента полученная строка '\x0d\x0a' (т.е. только сам перевод строки, без ничего дополнительно) не будет равен пустой строке - это будет строка с длиной в 1 символ. Вот именно поэтому ascii_char( 10 ) будет работать практически всегда. Ну кроме тех случаев, когда клиент ждет перевод строки именно из двух символов CR и LF. Но это я считаю просчетом проектирования... PS: И дело не в isql, не ошибка это в нем... С чего ты вдруг решил, что это ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 00:00 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov WildSery если не пользоваться isql с только что найденной тобой ошибкой Это не ошибка, это фича. isql приводит переводы строки перед отправкой в БД и после получения. Отсюда, кстати, растут ноги удвоения возврата каретки, на которое тут жаловались недавно: isql несколько неправильно обращается с исходниками, который в БД загнаны другими инструментами . Вот именно! По правильному было бы это делать так, как еще во времена MS-DOS делалось - на входе (это например то место, откуда читается текст процедуры...) все символы возврата каретки CR (0x0D) просто пропускать, а символ перевода строки LF (0x0A) и считать переводом строки. А на выходе перед символом LF добавлять символ CR. Если для той системы в которой работает isql это нужно (под Windows - да, под *nix - нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 00:07 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtПо правильному было бы это делать так, как еще во времена MS-DOS делалось... Глубоко задумался: - А иде эт оно в PS-DOS делалось? И про "По правильному было бы это делать так" - это кому правильно? DzirtЕсли для той системы в которой работает isql это нужно (под Windows - да, под *nix - нет) Хм... Так во времна PS-DOS, какбэ, DOS был DOS-ом, UNIX - unix-ом. И ни кто не требовал, штоп оно все в "одном флаконе" работало... Так что сцылка на хистори - не в зачет. Как бы народ FB тут не первый день юзает, из-под чего только не юзают, а кипишь ток ты поднял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 00:46 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Во-первых, PS-DOS - это не MS-DOS. Впрочем, различий именно по этой части в них я не припомню. Во-вторых, если таки действительно поведение будет различаться для разных систем (а судя по всему, это так), то говорить что все тут нормально - глупо. Хотя тезис - проверяйте все на конкретных клиентах (подходящий нам - у которых все клиенты виндовые) - имеет место быть. Вот как-то так... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 01:04 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Di_LIneDzirtПо правильному было бы это делать так, как еще во времена MS-DOS делалось... Глубоко задумался: - А иде эт оно в PS-DOS делалось? ... Я могу напомнить... Вот пример: Код: plaintext 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.
Код: plaintext 1. 2. 3. 4.
Вот так это и работало. Di_LIne... И про "По правильному было бы это делать так" - это кому правильно? DzirtЕсли для той системы в которой работает isql это нужно (под Windows - да, под *nix - нет) Хм... Так во времна PS-DOS, какбэ, DOS был DOS-ом, UNIX - unix-ом. И ни кто не требовал, штоп оно все в "одном флаконе" работало ... Так что сцылка на хистори - не в зачет. Ну вот и прикинь - никто вроде не требовал, а писали так, чтобы работало правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 09:48 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtНу вот и прикинь - никто вроде не требовал, а писали так, чтобы работало правильно.Гы. Открыл в FAR-е файлик сделал 10 "ентеров". Сохранил. Открыл как HEX. И чиго? - 10 штук 0D0A налицо. Размер файлика = 20 байт. Ы? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 10:40 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Di_LIneDzirtНу вот и прикинь - никто вроде не требовал, а писали так, чтобы работало правильно.Гы. Открыл в FAR-е файлик сделал 10 "ентеров". Сохранил. Открыл как HEX. И чиго? - 10 штук 0D0A налицо. Размер файлика = 20 байт. Ы? Ты открыл для себя Фар? Поздравляю! :) А что сказать-то хотел? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 10:43 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
По сабжу - а неплохо бы иметь спец. константу для этого дела, имхо... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 10:46 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtТы открыл для себя Фар? Поздравляю! :) А то! FAR - супер ось! Вот только какой-то гад к моей версии форточки прикрутил... Не знаешь, как их открутить от FAR-а? DzirtА что сказать-то хотел? А то, что сделай такой файлик.txt и посмотри, как его отобразят редакторы в разных осях... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 10:53 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Экспиримент №2: Создай 2 файлика: 1. с содержанием 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0A 2. с содержанием 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0D И отправь оба на принтер (9 pin) и удивись. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 10:59 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Отсюда, кстати, растут ноги удвоения возврата каретки, на которое тут жаловались недавно: isql несколько неправильно обращается с исходниками, который в БД загнаны другими инструментами. Начитавшись тут про бедные вернутые каретки, попробовал я извлечь метаданные isql'ем. Беглый взгляд на результат выявил, что "лишние" символы вставляются только при выводе текстовый блобов (тексты процедур, вьюх, описаний и т.п.). В моей базе они все с crlf, а выводятся crcrlf. Залез я в исходники птицы (которые 2.1.3) и нашёл там виновника - SHOW_print_metadata_text_blob, которая вызывает ISQL_printf, которая, в свою очередь, вызывает стандартную fprintf, которая пишет в поток isqlGlob.Out. Насколько я помню (с помощью гугла :) ), если поток открыт в текстовом режиме, то при выводе lf заменяется на crlf, что мы и наблюдаем. :) НО! Есть один нюанс: isqlGlob.Out открывается через fopen(ftmp.c_str(), "w+b"), то есть в двоичном (непреобразующем) режиме. Вывод: 1) либо я чего не увидел/не понял (оченно вероятно); 2) у MS VC мания заменять лыфы на цырылыфы превозмогает над стандартом. ;)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 11:20 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Di_LIneЭкспиримент №2: Создай 2 файлика: 1. с содержанием 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0A 2. с содержанием 0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0D И отправь оба на принтер (9 pin) и удивись. Не буду я удивляться, я и так знаю, что произойдет. Если написанное тобой в символах, то так и выведет: 0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0D и каретка будет установлена после последнего символа, а если это в в HEX-кодах, то соответственно: 1. Каретка в начале строки (сколько ему не посылай CR "начальнее" строки не бывает), прогон бумаги на 1 строку (один LF) 2. Прогон бумаги на 16 строк (у тебя 16 LF, я посчитал), каретка в начало строки (один CR) Опять таки - ты чего сказать-то хотел? PS: Я тебе еще напомню (это чтобы предвосхитить эксперимент №3), что у матричных принтеров перевод строки (LF который) не вызывал автоматического возврата каретки, т.е. она в какой позиции была в такой и оставалась. PPS: Я подозреваю, что тебе просто скучно... ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 11:50 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-rSHOW_print_metadata_text_blob, Именно в нём стоит коммент, который сбил меня с толку. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:06 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-r... НО! Есть один нюанс: isqlGlob.Out открывается через fopen(ftmp.c_str(), "w+b"), то есть в двоичном (непреобразующем) режиме. Вывод: 1) либо я чего не увидел/не понял (оченно вероятно); 2) у MS VC мания заменять лыфы на цырылыфы превозмогает над стандартом. ;)) А еще в файле isql.cpp есть функция Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Код: plaintext
Код: plaintext 1. 2. 3. 4. 5.
При выводе же на экран isqlGlob.Out содержит файл STDOUT (файловый дескриптор 1), который по умолчанию считается текстовым, и CR перед каждым LF тоже добавляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:30 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-r... НО! Есть один нюанс: isqlGlob.Out открывается через fopen(ftmp.c_str(), "w+b") , то есть в двоичном (непреобразующем) режиме. ... Это ты нашел в функции Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:34 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Это ты нашел в функции Код: plaintext 1. 2. 3.
Каюсь, смотрел по F7 методом косого чтения. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:44 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Можно попробовать сделать например так (функция void SHOW_print_metadata_text_blob(FILE* fp, ISC_QUAD* blobid, bool escape_squote), файл src\isql\show.epp, строка 1031) - вместо: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:44 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov dennis-rSHOW_print_metadata_text_blob, Именно в нём стоит коммент, который сбил меня с толку. Да. Коммент там классный. Особенно приписка от некого CVC, что коммент и код ничуть не совпадают. Да здравствует копи-паст! :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:46 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtМожно попробовать сделать например так Код: plaintext
Это конечно да, но не исключено, что бывают особенные платформы, где правят одни CRы. :] p.s. Ещё чуть-чуть и CORE-915 можно считать закрытым. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:53 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-rDzirtМожно попробовать сделать например так Код: plaintext
Это конечно да, но не исключено, что бывают особенные платформы, где правят одни CRы. ... Ну, тогда так: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:57 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Кстати! Код, который в if, вааще-то насчёт квотированных строк, а не переводов строк. И для печати метаданных используется то, что в else. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 12:58 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Ну, тогда так: Код: plaintext 1. 2. 3. 4. 5. 6.
Это не наш метод. Надо, чтоб у всех всё было одинаково! Одинаково плохо. Например, переводить текстовые блобы в html, а вместо crlf - <br>. Хы. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 13:04 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-r... Кстати! Код, который в if, вааще-то насчёт квотированных строк, а не переводов строк. И для печати метаданных используется то, что в else. :) Я знаю. Просто цикл совместил в один, и то что было в else "ушло". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 13:07 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Я знаю. Просто цикл совместил в один, и то что было в else "ушло". А! Точно! Не заметил. Ну, тогда это пора комитить в cvs и сделать товарища zaher dirkey счастливым. Обещанного, говорят, три года ждут. 30 августа будет как раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 13:17 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtНу, тогда так: Это будет в сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 15:14 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
WildSeryDzirtНу, тогда так: Это будет в сервере? Вообще-то этот код не в сервере, а в isql. А будет ли он там - это вопрос к разработчикам ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 15:44 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Вообще-то этот код не в сервере, а в isql. А будет ли он там - это вопрос к разработчикам Дык. В чём дело стало пройти по ссылке http://tracker.firebirdsql.org/browse/CORE-915 и зафигачить код в комментарий? Так разработчики будут более в курсе. p.s. Я уж намекал-намекал прозрачно так... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 15:59 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-r, Добавил коммент в CORE-915, посмотрим как оно... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 16:19 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtДобавил коммент в CORE-915, посмотрим как оно... :-) Замечательно. Если ещё is заменить на will и проставить определённые артикли, будет вааще сногсшибательно! %) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 18:58 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
DzirtPS: Я тебе еще напомню (это чтобы предвосхитить эксперимент №3), что у матричных принтеров перевод строки (LF который) не вызывал автоматического возврата кареткиА вот это зависело от настроек. Был и Auto-CR и Auto-LF. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2009, 16:54 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt... Добавил коммент в CORE-915, посмотрим как оно... :-) Получен ответ: авторAdriano dos Santos Fernandes commented on CORE-915: --------------------------------------------------- I can't reproduce. All line breaks are using CRLF. Ну и все. Как обычно вобщем-то, я уж давно зарекся постить в трекер. Если Дима с Владом тут не возьмутся решать, то никогда оно и не решится... Не напишу ж я там там "возьмите IBExpert/IBEScript или любую старую базу, когда ваш же isql при передаче текста процедуры на сервер еще на удалял символы CR, а передавал как есть, а метаданные извлеките теперишним isql". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2009, 22:40 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt> Не напишу ж я там Отчего же? Напиши. У трекера есть минусы, но не этот... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2009, 10:12 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам пишет: > Автор: Гаджимурадов Рустам > <Гаджимурадов Рустам> > > Dzirt> Не напишу ж я там > > Отчего же? Напиши. У трекера есть минусы, но не этот... Так dennis-r уже написал... Вполне ожидаемый ответ: [qoute] Adriano dos Santos Fernandes commented on CORE-915: --------------------------------------------------- But IBExpert is not part of Firebird. I want to see a "good script" that you can use to create the objects with isql and the extraction result in the "bad script". I\'m unable to reproduce that. .... [/qoute] Пользуйтесь _только_ isql и будет вам счастие... Это глухарь. -- With best regards, Yuri Grabar. E-mail: yuri_grabar@ukr.net Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2009, 10:27 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt> Пользуйтесь _только_ isql и будет вам счастие Вы ему что именно нужно исправить объяснили? А-то может тут на трех страницах курили, а хотите чтобы он сразу въехал. :-) В принципе, это можно и без трекера ДС-у переадресовать. :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2009, 11:30 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам В принципе, это можно и без трекера ДС-у переадресовать. :) Нет, мне нельзя. Тут только ДЕ или Влад справятся. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2009, 13:31 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам Вы ему что именно нужно исправить объяснили? А-то может тут на трех страницах курили, а хотите чтобы он сразу въехал. :-) Всё нормально, процесс объяснения идёт. Там и Влад подключился. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2009, 13:48 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt, Дело мысля пошла однако Adriano dos Santos Fernandes - 16/Jul/09 06:47 AMJust removing CRs is not a good solution, as they also works as line terminator in Mac OS. I think we should convert CRLF pairs to LF before print. But that should be done with care re. blob segment bondaries too. Правда я не понимаю, что там страшного с границами сегментов блоба... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 16:15 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-rПравда я не понимаю, что там страшного с границами сегментов блоба... А! Дошло. Если CR в конце одного сегмента, а LF - в начале другого. Нда. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 16:29 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt, Вобщем починили путём замены CRLF->LF->fprintf->CRLF. Смотреть в 2.5 RC1. Или в cvs. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2009, 20:59 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
dennis-r пишет: > Автор: "dennis-r" > Dzirt, > Вобщем починили путём замены CRLF->LF->fprintf->CRLF. Смотреть в 2.5 > RC1. Или в cvs. Да собственно я и не жду исправления этого :D Мне еще не приходилось метаданные извлекать при помощи isql. ;) Хм-м... Даже странно как-то - пользуюсь Interbase/Firebird начиная с IB 6.0, а метаданные isql\'ем не извлекал. PS: Накрутил-то Adriano... Без пол-литры и не разобраться ;) Ну, ему виднее Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2009, 21:40 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dzirt Да собственно я и не жду исправления этого Да мне, собственно, тоже по барабану. Просто, уж коли взялися давить козявку, надо додавить. Dzirt PS: Накрутил-то Adriano... Без пол-литры и не разобраться ;) Ну, ему виднее Ага. Это он границы сегментов блюдёт. А на про изврат типа LFCR забыил. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 10:34 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
И рпавильно забил. Ибо изврат. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 12:58 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Связанная проблема, так и оставшаяся даже в 3.0.3. isql даже под Windows превращает все переводы строк в 0A. Короткий пример: БД - test.fdb, в ней таблица New_Table Код: sql 1. 2. 3. 4. 5.
В файле dump0 - 63 6F 6D 0A 6D Ладно, возможно утилита - наследник Линукса и переводы строк в консоли воспринимает по-пингвиньему. Делаем comm.sql Код: sql 1. 2. 3. 4. 5.
сохраняем с виндовыми переводами строк и запускаем Код: sql 1.
В файле dump1 - тот же самый 63 6F 6D 0A 6D. А из-за этого появляются ложные срабатывания при сравнении метаданных, если одна из баз создана isql-ем, а в другой изменения выполнялись сторонними средствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2018, 17:10 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Василий 2возможно утилита - наследник Линукса и переводы строк в консоли воспринимает по-пингвиньему. Этой утилите сугубо всё равно откуда fgets получает строку. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2018, 17:20 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
самый кайф начинается если эти строки засандалить в стандартный RichEdit. (только не через ClipBoard) терминатор становится ТРЕХ-символьным 0A 0D 0A. понятно, что это глюк RichEdit, но всё одно, прикольно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2018, 17:24 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЭтой утилите сугубо всё равно откуда fgets получает строку. Не спорю. Я имел в виду, что перенос строки, вбитый в консоли, - вещь хрупкая и может зависеть от приложения терминала. Но вот с данными, которые проге скормили в виде файла, не должно быть никаких самоуправств имхо. Либо, уж если очень большое желание однотипности (например, чтобы избежать печали в сравнении метаданных, если над базой работает несколько кодеров из-под разных осей), можно прибить преобразование гвоздями к серверу и успокоиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2018, 17:50 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Василий 2Dimitry SibiryakovЭтой утилите сугубо всё равно откуда fgets получает строку. Не спорю. Я имел в виду, что перенос строки, вбитый в консоли, - вещь хрупкая и может зависеть от приложения терминала. Но вот с данными, которые проге скормили в виде файла, не должно быть никаких самоуправств имхо. Либо, уж если очень большое желание однотипности (например, чтобы избежать печали в сравнении метаданных, если над базой работает несколько кодеров из-под разных осей), можно прибить преобразование гвоздями к серверу и успокоиться. ASCII_CHAR(13) не устраивает благородного дона? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 08:34 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
pastorASCII_CHAR(13) не устраивает благородного дона? Если IBE научится извлекать метаданные, заменяя переводы строк на конкатенацию с ASCII_CHAR то мб, мб... Однако ж все равно нехорошее это поведение. Утилите скормили данные в четко определенном виде, какое право она имеет их менять? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 09:34 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
Василий 2pastorASCII_CHAR(13) не устраивает благородного дона? Если IBE научится извлекать метаданные, заменяя переводы строк на конкатенацию с ASCII_CHAR то мб, мб... Однако ж все равно нехорошее это поведение. Утилите скормили данные в четко определенном виде, какое право она имеет их менять? 1. скормить скрипт в IBE, заставить его срыгнуть, потом опять скормить - неаппетитно как-то выглядит. Требуйте крыжик ( все непонятное в ASCII_CHAR/как попало) в IBE 2. что файлик, что консоль - входному потоку данных фиолетово. особенно перенапрравленному. 3. утилита имеет право их поменять под локали подключения. кодировку точно, а со временем, еще время и разделители и пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 10:42 |
|
знак переноса строки?
|
|||
---|---|---|---|
#18+
pastor1. скормить скрипт в IBE, заставить его срыгнуть, потом опять скормить - неаппетитно как-то выглядит. Требуйте крыжик ( все непонятное в ASCII_CHAR/как попало) в IBE Что-то я не догнал, откуда такая цепочка. Извлекаю метаданные я через IBScript, а базу из него создаю isql-ем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2018, 14:32 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1561046]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 272ms |
0 / 0 |