Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Записать-прочитать файл под WinApi   Найти похожие ветки 

 
Vemer ©   (2009-01-28 08:48) [0]

Подскажите в какую сторону смотреть, чтобы записать-прочитать файл длиной  2-4 байта под WinApi?


 
KSergey ©   (2009-01-28 09:06) [1]

HFILE OpenFile(
   LPCSTR lpFileName, // pointer to filename
   LPOFSTRUCT lpReOpenBuff, // pointer to buffer for file information  
   UINT uStyle // action and attributes
  );


 
clickmaker ©   (2009-01-28 10:33) [2]

CreateFile()
ReadFile, WriteFile


 
Юрий Зотов ©   (2009-01-28 17:14) [3]

Только непонятно, почему именно через WinAPI. Родные Паскалевские AssignFile, Reset/Rewrite, Read/Write, CloseFile ничем не хуже, но проще в использовании.


 
KilkennyCat ©   (2009-01-28 18:25) [4]


> Юрий Зотов ©   (28.01.09 17:14) [3]


Потому что под ними 2-4 байта не получается. Под апишными тож не получится, но автор надеется...


 
Vemer ©   (2009-01-28 20:18) [5]

Иди убивай Кенни дальше если ниче умного сказать не можешь.

А WinApi потому что пришу без VCL.


 
Leonid Troyanovsky ©   (2009-01-28 20:30) [6]


> Vemer ©   (28.01.09 20:18) [5]

> А WinApi потому что пришу без VCL.

Чего ж себя так мучить, мы ж не при царском режиме.
И TFileStream заказан?

--
Regards, LVT.


 
palva ©   (2009-01-28 20:50) [7]


> А WinApi потому что пришу без VCL.

Можно обойтись без WinApi не используя VCL. Единственная причина, которую могу придумать, это то что нужны юникодные имена файлов, или файл очень длинный с длиной, которая не помещается в 32 бита.


 
Jeer ©   (2009-01-28 20:55) [8]


> Подскажите в какую сторону смотреть,


В зависимости от твоего вероисповедования.


 
Jeer ©   (2009-01-28 20:58) [9]


> или файл очень длинный с длиной, которая не помещается в
> 32 бита.


Во как, оказывается - файл длиннее 32 бит сегодня считается очень длинным.
Пожалуй, надо снести у себя все файлы длиннее 32 бит - непорядок, выбиваюсь :)


 
Palladin ©   (2009-01-28 22:13) [10]


> Vemer ©  (28.01.09 20:18) [5]

я чет не понял, каким боком родные Паскалвские методы относятся к VCL. Да и TFileStream относится к базовым классам, а не к VCL как таковой.


 
Palladin ©   (2009-01-28 22:13) [11]

Удалено модератором
Примечание: дубль


 
KilkennyCat ©   (2009-01-29 01:09) [12]


> Vemer ©   (28.01.09 20:18) [5]


Иди изучай английский. В моем нике нет "убийства".


 
Германн ©   (2009-01-29 02:07) [13]


> Иди изучай английский. В моем нике нет "убийства".
>

Фонетически есть. :)


 
KilkennyCat ©   (2009-01-29 09:03) [14]


> Германн ©   (29.01.09 02:07) [13]

При богатой (больной) фантазии можно увидеть(услышать) что угодно.


 
Anatoly Podgoretsky ©   (2009-01-29 09:18) [15]

> Германн  (29.01.2009 2:07:13)  [13]

Убить кота Кенни


 
KilkennyCat ©   (2009-01-29 09:47) [16]


> Anatoly Podgoretsky ©   (29.01.09 09:18) [15]

И даже это вариантно:
Кота по кличке Кенни?
Кота, принадлежащего Кенни?


 
Palladin ©   (2009-01-29 09:53) [17]

УбиКенниКот :)


 
KilkennyCat ©   (2009-01-29 09:57) [18]


> Palladin ©   (29.01.09 09:53) [17]

Чувствуется умение правильно называть переменные :)


 
Anatoly Podgoretsky ©   (2009-01-29 10:42) [19]

> KilkennyCat  (29.01.2009 9:47:16)  [16]

Никаких вариантов, кота жалко.


 
Palladin ©   (2009-01-29 11:05) [20]


> KilkennyCat ©   (29.01.09 09:57) [18]

С этим вообще проблем нет

var
 f,t,e,c:Integer;
 r,y,aa,be:String;
 ttt,w777,f:Boolean;
 kfr,kr:TList;
 PeremennayaDlyaCiklaFor:Integer;


^)


 
Юрий Зотов ©   (2009-01-29 11:37) [21]

> Vemer ©   (28.01.09 20:18) [5]

> А WinApi потому что пишу без VCL.

Писать без VCL - это еще не значит обязательно использовать WinAPI. Никто не мешает писать и без VCL, и без WinAPI.

Все перечисленные в [3] функции содержатся в модуле System - то есть, это функции из библиотеки самого ЯЗЫКА и к VCL они не имеют никакого отношения. Так что можете их использовать - тем более, что модуль System будет подключен к Вашей программе в любом случае.


 
Vemer ©   (2009-01-29 20:06) [22]

Спасибо всем за ответы, начал мучить OpenFile )).

Зачем мне это надо - просто налабал на WinAPi для себя часики на рабочий стол поверх всех окон. Под VCL тот же код глючит страшно. Вот теперь буду пытаться научить их сохранять свое местоположение.


 
clickmaker ©   (2009-01-29 20:10) [23]

> Вот теперь буду пытаться научить их сохранять свое местоположение

а зачем для этого OpenFile?
RegOpenKeyEx, RegSetValueEx
или WritePrivateProfileString


 
Ega23 ©   (2009-01-29 20:20) [24]


> Под VCL тот же код глючит страшно.


"Меня терзают смутные сомнения..." (с)


 
Vemer ©   (2009-01-29 22:12) [25]

Ну не хочу я в реестр лезть из-за таких мелочей  :).
Там и так мусора немало.
А программа, написанная на VCL с прозрачной формой и отрисовкой в ее в канвасе действительно глючит.


 
Eraser ©   (2009-01-29 22:14) [26]

> [25] Vemer ©   (29.01.09 22:12)
> Ну не хочу я в реестр лезть из-за таких мелочей

а куда собрался? может ну его... не надо? ;-)


 
Германн ©   (2009-01-30 00:47) [27]


> Vemer ©   (29.01.09 22:12) [25]
>
> Ну не хочу я в реестр лезть из-за таких мелочей  :).


> Вот теперь буду пытаться научить их сохранять свое местоположение.

Значит потом будешь терзать форум вопросами типа "Почему не могу сохранить файл в такую-то папку?"


 
KilkennyCat ©   (2009-01-30 01:30) [28]

Если только местоположение, то:
1. Реестру хуже не будет.
2. Если без реестра , то отдельный файл не нужен.


 
Vemer ©   (2009-01-30 01:33) [29]

Короче, всем спасибо, научил часики сохранять 8 байт в файл.
файл создается в собственной папке.

Прогу я больше для себя писал.
На выходных OpenGL может прикручу к ней, выводить его в прозрачное окно уже умею)).

To Германн
на forum.sources.ru мне тоже самое сказали )). Там человек поставил Read Only на Program Files зачем-то )).

Если прога не может создать файл в собственной папке - это уже проблемы пользователя компа.


 
Германн ©   (2009-01-30 01:49) [30]


> To Германн
> на forum.sources.ru мне тоже самое сказали )). Там человек
> поставил Read Only на Program Files зачем-то )).
>
> Если прога не может создать файл в собственной папке - это
> уже проблемы пользователя компа.
>

А насчет этого ты проконсультируйся у MS. Ты как и многие - заложник MS-Windows. Как ни крути. :(
А когда приспичит, то и тут получишь! :)


 
AndreyV ©   (2009-01-30 05:56) [31]

> [30] Германн ©   (30.01.09 01:49)
> > Если прога не может создать файл в собственной папке - это
> > уже проблемы пользователя компа.
>
> А насчет этого ты проконсультируйся у MS. Ты как и многие
> - заложник MS-Windows. Как ни крути. :(
> А когда приспичит, то и тут получишь! :)

Переведу.
Для хранения настроек был придуман реестр , а потом специальные папки; не каждая ОС или пользователь даст писать (ударение выбери сам) в папку с исполняемыми файлами.


 
Vemer ©   (2009-01-30 11:09) [32]

Нашел пример как находить AppData folder.
До сего момента я даже не знал что оно существует  :o.
Просто работал с БД больше, а там вопрос "где хранить" не возникает :D.


 
koha!   (2009-02-01 05:47) [33]


> Юрий Зотов ©   (29.01.09 11:37) [21]
> > Vemer ©   (28.01.09 20:18) [5] Все
> перечисленные в [3] функции содержатся в модуле System -
>  то есть, это функции из библиотеки самого ЯЗЫКА и к VCL
> они не имеют никакого отношения. Так что можете их использовать
> - тем более, что модуль System будет подключен к Вашей программе
> в любом случае.


Вот интересно, а они эти функции являются обвертками АПИ функций?


 
Anatoly Podgoretsky ©   (2009-02-01 12:15) [34]

> koha!  (01.02.2009 5:47:33)  [33]

Ты думаешь разработчики идиоты, что будут писать свои драйвера, АПИ лишь бы не работать с АПИ, не они умнее. Все, абсолютно все операции делаются исключительно только через несложные обертки.



Страницы: 1 вся ветка

Текущий архив: 2009.03.29;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.018 c
10-1153500862
XProger
2006-07-21 20:54
2009.03.29
Вызов _Release


15-1233223249
desc
2009-01-29 13:00
2009.03.29
Как обновить набор данных ?


15-1232061503
Дмитрий С
2009-01-16 02:18
2009.03.29
Экстремальный ноутбук


2-1233919607
Alexxxx
2009-02-06 14:26
2009.03.29
положение scrollbar


15-1233183371
Германн
2009-01-29 01:56
2009.03.29
Ох уж мне эти писатели "кривых" драйверов! -2