Автор |
Тема: printstr BIGSTRING to file NF (Прочитано 4693 раз) |
|
Boris, Kiev.
    
 Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #15 В: 23.05.08 в 12:16:56 » |
Цитировать | Править
|
on 23.05.08 в 11:14:16, Alexander_Kiev wrote: А как в runtime узнать какие файлы открывались и есть ли что закрывать? На счет общего кол-ва открытых файлов не беспокойся. 1цэ их сотнями держит в таком состоянии. |
| Вот интересно, построчно открывать и закрывать - знаем, а на выходе формы - не знаем Может тебе RPT-алгоритм пописать, а то с такими терминами и логику забудешь напрочь.
|
|
Зарегистрирован |
|
|
|
Alexander_Kiev
    

Просмотреть Профиль | E-мэйл
Сообщений: 661
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #16 В: 23.05.08 в 12:47:35 » |
Цитировать | Править
|
on 23.05.08 в 12:16:56, Boris, Kiev. wrote: Вот интересно, построчно открывать и закрывать - знаем, а на выходе формы - не знаем Может тебе RPT-алгоритм пописать, а то с такими терминами и логику забудешь напрочь. |
| Что же здесь не естественного, процедура записи строки - один фрагмент компиляции. Твоя же постановка задача соизмерима с воспроизведением алгоритма исскуственного интеллекта. Не забывай, что могут иметь место всякие условия выполнения/невыполнения разрозненных частей кода. Ну а как ты заблаговременно (на фазе компиляции) например "расскажешь" компилятору, что виртуальная машина будет иметь дело с тем, что выдаст функция [dir 0] ? И еще одно. Операционка уровня WINDOWS оснащена кучей прибамбас направленных на оптимизацию работы приложений. Не факт, что массовая процедура открытия/закрытия одного и того же файла пройдет мимо кеширования.
|
« Изменён в : 23.05.08 в 12:56:22 пользователем: Alexander_Kiev » |
Зарегистрирован |
С уважением, Александр.
|
|
|
Vitaly
  
 Учись, учись, учись и больше не дерись!
Просмотреть Профиль | E-мэйл
Сообщений: 147
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #17 В: 23.05.08 в 13:30:36 » |
Цитировать | Править
|
on 23.05.08 в 12:47:35, Alexander_Kiev wrote: Не забывай, что могут иметь место всякие условия выполнения/невыполнения разрозненных частей кода. |
| Человеку, занимающемуся конфигурированием работы платформы, платят деньги за то, что он эти условия контролирует и за свои ошибки отвечает. Я поддерживаю структуру: ОТКРЫЛ - ЗАПИСАЛ - ЗАКРЫЛ. А уж отдельными-ли строками или используя массив - это выбор личных привелегий.
|
« Изменён в : 23.05.08 в 13:34:13 пользователем: Vitaly » |
Зарегистрирован |
|
|
|
Boris, Kiev.
    
 Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #18 В: 23.05.08 в 14:25:33 » |
Цитировать | Править
|
on 23.05.08 в 12:47:35, Alexander_Kiev wrote: Что же здесь не естественного, процедура записи строки - один фрагмент компиляции. Твоя же постановка задача соизмерима с воспроизведением алгоритма исскуственного интеллекта. Не забывай, что могут иметь место всякие условия выполнения/невыполнения разрозненных частей кода. Ну а как ты заблаговременно (на фазе компиляции) например "расскажешь" компилятору, что виртуальная машина будет иметь дело с тем, что выдаст функция [dir 0] ? И еще одно. Операционка уровня WINDOWS оснащена кучей прибамбас направленных на оптимизацию работы приложений. Не факт, что массовая процедура открытия/закрытия одного и того же файла пройдет мимо кеширования. |
| close2: mov ah,3Eh mov bx,[handle2] int 21h close1: mov ah,3Eh mov bx,[handle1] int 21h 5-ти звездочный ты наш, не пудри...
|
|
Зарегистрирован |
|
|
|
Alexander_Kiev
    

Просмотреть Профиль | E-мэйл
Сообщений: 661
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #19 В: 23.05.08 в 14:25:57 » |
Цитировать | Править
|
on 23.05.08 в 13:30:36, Vitaly wrote:Я поддерживаю структуру: ОТКРЫЛ - ЗАПИСАЛ - ЗАКРЫЛ. |
| Ну и пральна, в Финансах пользователю предоставляют только "ЗАПИСАЛ" остальное подмешивается при компиляции. Гибкости меньше, но и требований к квалификации кодера меньше.
|
|
Зарегистрирован |
С уважением, Александр.
|
|
|
Alexander_Kiev
    

Просмотреть Профиль | E-мэйл
Сообщений: 661
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #20 В: 23.05.08 в 14:34:21 » |
Цитировать | Править
|
on 23.05.08 в 14:25:33, Boris, Kiev. wrote: close2: mov ah,3Eh mov bx,[handle2] int 21h close1: mov ah,3Eh mov bx,[handle1] int 21h 5-ти звездочный ты наш, не пудри... |
| Ежли не ошибаюсь это фрагменты вызова DOS прерывания в асемблерном коде. И че этим должно было быть сказано? Видиш, в остаткак памяти еще осталось, что int в контексте означает interrupt, а не integer, а ah и bx - внутренние регистры процессора.
|
« Изменён в : 23.05.08 в 14:55:14 пользователем: Alexander_Kiev » |
Зарегистрирован |
С уважением, Александр.
|
|
|
Arkady
Administrator
    

Просмотреть Профиль | WWW | E-мэйл
Сообщений: 484
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #21 В: 23.05.08 в 14:57:17 » |
Цитировать | Править
|
Ну, еще можно добавить в язык два новых оператора: 1) не_закрывать_ничего_просто_один_раз_открыть_если_надо 2) закрыть_всех_открытых Тогда формы не потребуют большой переделки, только первый оператор - в начало, а второй - в конец.
|
|
Зарегистрирован |
|
|
|
alushta
  
 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 192
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #22 В: 24.05.08 в 05:10:59 » |
Цитировать | Править
|
Quote: только первый оператор - в начало, а второй - в конец. |
| этот подход мне нравится
|
|
Зарегистрирован |
|
|
|
Boris, Kiev.
    
 Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #23 В: 24.05.08 в 07:03:51 » |
Цитировать | Править
|
on 23.05.08 в 14:57:17, Arkady wrote:Ну, еще можно добавить в язык два новых оператора: 1) не_закрывать_ничего_просто_один_раз_открыть_если_надо 2) закрыть_всех_открытых Тогда формы не потребуют большой переделки, только первый оператор - в начало, а второй - в конец. |
| Просто SUPER
|
|
Зарегистрирован |
|
|
|
Tupitsin
  
 Я люблю этот Форум!
Просмотреть Профиль | E-мэйл
Сообщений: 191
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #25 В: 27.05.08 в 08:52:06 » |
Цитировать | Править
|
А что будет, если форма заканчивается аварийно, не дойдя до оператора "закрыть_всех_открытых "? Добавлять обработку ошибок?
|
|
Зарегистрирован |
|
|
|
Alexander_Kiev
    

Просмотреть Профиль | E-мэйл
Сообщений: 661
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #26 В: 27.05.08 в 13:07:57 » |
Цитировать | Править
|
on 27.05.08 в 08:52:06, Tupitsin wrote:А что будет, если форма заканчивается аварийно, не дойдя до оператора "закрыть_всех_открытых "? Добавлять обработку ошибок? |
| Молодцом Дмитрий! Безусловно, потребуется мониторить всю область выполнения, включая и возможные ошибки кодера, сразу после первого открытия файла. Посему самое первое предложение - вывод массива, на мой взгляд, самое оптимальное.
|
« Изменён в : 27.05.08 в 13:17:55 пользователем: Alexander_Kiev » |
Зарегистрирован |
С уважением, Александр.
|
|
|
alushta
  
 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 192
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #28 В: 27.05.08 в 19:47:14 » |
Цитировать | Править
|
Quote:А что будет, если форма заканчивается аварийно, не дойдя до оператора "закрыть_всех_открытых "? |
| А сейчас что не заканчивается аварийно новая форма при отладке. Значит отлаживаем фору, а потом добавляем два оператора: один в начало а другой в конец
|
|
Зарегистрирован |
|
|
|
Alexander_Kiev
    

Просмотреть Профиль | E-мэйл
Сообщений: 661
|
 |
Re: printstr BIGSTRING to file NF
« Ответить #29 В: 27.05.08 в 21:19:13 » |
Цитировать | Править
|
on 27.05.08 в 19:47:14, alushta wrote: А сейчас что не заканчивается аварийно новая форма при отладке. Значит отлаживаем фору, а потом добавляем два оператора: один в начало а другой в конец |
| Выполнение алгоритма может быть зависимо от внешних факторов. Произошло деление на ноль например, алгоритм завершается и концы в воду. Для предотвращения ситуации с возможным наличием открытых файлов надо обрабатывать такой вариант до завершения.
|
« Изменён в : 27.05.08 в 21:40:03 пользователем: Alexander_Kiev » |
Зарегистрирован |
С уважением, Александр.
|
|
|
|
|