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




Пост N: 3447
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.06.14 08:28. Заголовок: Какими функциями правильнее пользоваться ?


Всем привет.
Подскажите пожалуйста, какими функциями работы с файлами правильней пользоваться ?
Из СТ или для работы с memo, т.е. STRFILE(), FILESTR() или hb_memoread(), hb_memoread() ?
Кстати про функции hb_memoread(), hb_memoread() нет в доке по xHarbour Language Reference Guide 1.1
Где можно почитать про них ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 19 [только новые]





Пост N: 48
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 26.06.14 12:54. Заголовок: Можно почитать, напр..

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



Пост N: 1096
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 26.06.14 13:01. Заголовок: Andrey пишет: Подск..


Andrey пишет:

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

они все правильные, какая задача стоит?

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




Пост N: 3450
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.06.14 13:55. Заголовок: a_sidorov пишет: Мо..


a_sidorov пишет:

 цитата:
Можно почитать, например https://vivaclipper.wordpress.com/tag/hb_memoread/, https://vivaclipper.wordpress.com/2014/01/16/hb_memoread/



Мозила пишет: "Проблема при загрузке страницы!"

AlexMyr пишет:

 цитата:
они все правильные, какая задача стоит?



Записать в файл, прочитать файл. Да любые действия с файлами...
Какая разница между этими функциями ?

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



Пост N: 1097
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 26.06.14 15:04. Заголовок: Andrey пишет: Запис..


Andrey пишет:

 цитата:
Записать в файл, прочитать файл.

пробуй hb_memoread, hb_memowrit.
Andrey пишет:

 цитата:
Какая разница между этими функциями ?

не вникал, использую hb_memo*.

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



Пост N: 49
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 26.06.14 15:41. Заголовок: Оптимально то, что р..


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

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



Пост N: 1098
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 26.06.14 15:52. Заголовок: a_sidorov пишет: А ..


a_sidorov пишет:

 цитата:
А на счет hb_memoread() у меня очень большие сомнения о ее работоспособности

hbmk2 использует hb_memoread, посмотрите исходники, какие сомнения?

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


Пост N: 977
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.06.14 18:53. Заголовок: AlexMyr пишет: hbmk..


AlexMyr пишет:

 цитата:
hbmk2 использует hb_memoread, посмотрите исходники, какие сомнения?


Это - психология. Есть выражение: "Самая короткая дорога та, которую знаешь" :)
Наш ум так работает. Если есть уже проверенное решение возникшего вопроса, автоматически будет выбрано оно. :)
Тут рядом тема про hbmk2, path, bcc и батники: то же самое. :)

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




Пост N: 3452
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.06.14 23:08. Заголовок: PSP пишет: Если ест..


PSP пишет:

 цитата:
Если есть уже проверенное решение возникшего вопроса, автоматически будет выбрано оно. :)


Согласен !
Результат небольшого опроса - что нравиться, тем и пользуемся !

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




Пост N: 3453
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.06.14 23:17. Заголовок: Теперь другой вопрос..


Теперь другой вопрос ?
Можно ли как то сделать следующее - передать команду на закрытие своего ЕХЕ-ника ?
Чтобы он нормально закрыл базы и вышел...
Через файл не хочется.

Сделал главное меню программы на МиниГуи, запускаю терминалку на хХарборе. Знаю хендл этой терминалки.
При выходе из программы на МиниГуи нужно закрыть все открытые терминалки.
Зная свой хендл приложения - можно ли через систему получить команду управления для своего хендла и обработать ?
Ну или еще какие либо варианты есть...



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



Пост N: 1099
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.06.14 00:50. Заголовок: PSP пишет: Тут рядо..


PSP пишет:

 цитата:
Тут рядом тема про hbmk2, path, bcc и батники: то же самое. :)



если тоже самое, напишите разрабам - может поправят.

Andrey пишет:

 цитата:
Согласен !
Результат небольшого опроса - что нравиться, тем и пользуемся !


Andrey тему зачем открывал - просто потрепаться?

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




Пост N: 3455
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.14 09:49. Заголовок: AlexMyr пишет: Andr..


AlexMyr пишет:

 цитата:
Andrey тему зачем открывал - просто потрепаться?


Нет, не трепаться. И я её не закрывал...
Для себя пока выводы сделал и работать продолжаю.

А тема то не одна про дисковые функции, есть и другие вопросы - см. выше !
Уж очень заковыристый вопрос и не знаешь как к нему приступить....

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



Пост N: 229
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 27.06.14 10:28. Заголовок: Можно ли как то сдел..



 цитата:
Можно ли как то сделать следующее - передать команду на закрытие своего ЕХЕ-ника ?



например через сокет

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



Пост N: 1100
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.06.14 10:52. Заголовок: Andrey пишет: Для с..


Andrey пишет:

 цитата:
Для себя пока выводы сделал и работать продолжаю.

так на чем остановились, какие ф-ии исполььзуете?

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




Пост N: 352
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.06.14 10:58. Заголовок: Andrey пишет:Сделал ..


Andrey пишет:
 цитата:
Сделал главное меню программы на МиниГуи, запускаю терминалку на хХарборе. Знаю хендл этой терминалки.
При выходе из программы на МиниГуи нужно закрыть все открытые терминалки.


попробуй:
PostMessage( hWnd, WM_KEYDOWN, VK_ESCAPE, 0) // если по ESC разрешен выход
PostMessage( hWnd, WM_CLOSE, 0, 0)
PostMessage( hWnd, WM_QUERYENDSESSION, 0, 0)

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




Пост N: 3456
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.06.14 21:29. Заголовок: SergKis пишет: попр..


SergKis пишет:

 цитата:
попробуй:


А как базы закрыть нормально при таком выходе из программы ?
Т.е. если у меня в процедуре выхода стоит:
EXIT PROCEDURE EXIT2WIN()
.....
// моя отработка служебных записей в бд
MyCloseJournal()
..........
CLOSE ALL
RETURN


Функция MyCloseJournal() будет отрабатывать ?

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




Пост N: 354
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.06.14 00:16. Заголовок: Andrey пишет:Функция..


Andrey пишет:
 цитата:
Функция MyCloseJournal() будет отрабатывать ?


попробуй сделать:
1. Shut Down компу, с загруженной программой, система выдает приложениям WM_QUERYENDSESSION
2. нажать X (close) или Alt+F4 окна своего wwt приложения, что будет - это сообщение WM_CLOSE
см. Harbor\src\rtl\gtwwt\gtwwt.c (line 866):Скрытый текст

думаю должно быть нормально все.


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




Пост N: 355
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.06.14 10:20. Заголовок: Andrey если совсем х..


Andrey если совсем хочешь взять под управление, то делай
PostMessage( hWnd, WM_KEYDOWN, VK_F12, 0)
в задаче на F12 повесь блок кода своего "нормального" завершения прогр.
без вопросов. вместо F12 можно взять и др. кл., например F15 или F10

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




Пост N: 3459
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.06.14 14:35. Заголовок: SergKis пишет: попр..


SergKis пишет:

 цитата:
попробуй сделать:


Спасибо большое !
Получилось нормально и с PostMessage( hWnd, WM_CLOSE, 0, 0) !
Повесил в свою программу отдельную обработку по этому событию и программа нормально закрывается.
EXIT PROCEDURE EXIT2WIN() отрабатывает ВСЕГДА !

Потом нашел пример у Григория для МиниГуи:
\MiniGUI\SAMPLES\Applications\CLOSEALL - классный пример !

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




Пост N: 3461
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.06.14 18:49. Заголовок: AlexMyr пишет: так ..


AlexMyr пишет:

 цитата:
так на чем остановились, какие ф-ии исполььзуете?


Теперь обеими функциями пользуюсь, для маленьких файлов.
Для больших файлов, в случае добавления к существующему файлу, лучше использовать StrFile().


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

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