Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 188
от 13.07.2003, 12:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 779
Отправлено ответов: 1426
Активность: 183.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.96
URL: Пристанище неодинокого программиста
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.07
[Подробней >>]
ART_43
Статус: Доверительный
Общий рейтинг: 123.23
[Подробней >>]
 
URiS
Статус: Опытный
Общий рейтинг: 160
URL: Бесплатный любительский софт, игры
[Подробней >>]
valter
Статус: Начальный
Общий рейтинг: 102.5
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.01
URL: Программирование
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 771. Подскажите, пожалуйста, как одним махом из нетипизированного файла считать иформацию в переменную ти... (ответов: 6)
Вопрос № 772. Уважаемые эксперты! Пытаюсь сделать экспорт данных из DBGrid в таблицу MS Word. Хочу при количестве ... (ответов: 1)

Вопросов: 2, ответов: 7


 Вопрос № 771

Подскажите, пожалуйста, как одним махом из нетипизированного файла считать иформацию в переменную типа String. То есть, допустим есть файл и из него мне надо с произвольной позиции считать 300 байт.
Заранее спасибо.



Вопрос отправлен: 09.07.2003, 19:05
Отправитель: SiLver

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Приветствую Вас, SiLver!

Ну, хотя бы так:

Приложение:

Ответ отправлен: 09.07.2003, 20:17
Отправитель: Артём Шегеда


Отвечает vitya

Доброе время суток, SiLver!

Я предложу решить саму задачу по другому. Спроецируй файл в память (функции CreateFile, CreateFileMapping, MapViewOfFile, UnmapViewOfFile, CloseHandle). И тогда у тебя будет замечательный char * указатель и ты сможешь в любую позцию писать и читать.

Ответ отправлен: 10.07.2003, 08:59
Отправитель: vitya


Отвечает ART_43

Доброе время суток, SiLver!
SetLength(s,300);
BlockRead(f,s[1],300);

Ответ отправлен: 10.07.2003, 09:06
Отправитель: ART_43


Отвечает URiS

Здравствуйте, SiLver!
С произвольной позиции можно считать, перейдя на эту позицию процедурой Seek(file,pos). Но 300 байт в один String не поместятся, максимум - 255!

*EMan1.4 © Bob Johnson | Expert: URiS (newff.narod.ru)


Ответ отправлен: 10.07.2003, 13:31
Отправитель: URiS


Отвечает valter

Доброе время суток, SiLver!
Для этого нужно использовать процедуру BlockRead.
Только имей в виду, что даная процедура использует переменную типа PChar. С приведением типов, думаю, разберешься сам. :)

Ответ отправлен: 10.07.2003, 18:08
Отправитель: valter


Отвечает Bob Johnson

Доброе время суток, SiLver!
Можно выделить себе буфер под эти 300 + 1 байт (getmem?), затем туда прочитать файл с нужного места, дописать в конец 0 и что-типа этого:

var p : pointer;
s : string;
...
begin
_получение памяти и чтение в нее файла + 0 в конце_
s := pchar (p);

Вроде должно работать...

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 10.07.2003, 23:10
Отправитель: Bob Johnson


 Вопрос № 772

Уважаемые эксперты! Пытаюсь сделать экспорт данных из DBGrid в таблицу MS Word. Хочу при количестве столбцов, большем константы MAXCOLSFORPORTRET, делать альбомную ориентацию. Поэтому перед собственно созданием таблицы есть такой код.
//------------------------------------------------
m_WordApp.Visible := True;
m_WordApp.PrintPreview := False;
m_WordDoc.Activate;
if Columns.Count > MAXCOLSFORPORTRET then
with m_WordApp.ActiveDocument.PageSetup do
Orientation = wdOrientLandscape;
//------------------------------------------------
В отладчике видно, что при количестве столбцов, которое больше заданного числа, программа вроде бы выполняет последнюю строку, т.е. точка останова там срабатывает. Но: в Word ничего не меняется! Документ по-прежнему ориентирован стандартно... В чем дело?


Приложение:


Вопрос отправлен: 10.07.2003, 07:54
Отправитель: L_Dorrit

[Следующий вопрос >>] [Список вопросов]

Отвечает ART_43

Добрый день, L_Dorrit!
Пробовал делать тоже самое, все работает нормально.
Ищи проблему в другом месте (может с вордом что-нибудь)

Ответ отправлен: 10.07.2003, 09:16
Отправитель: ART_43



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (35)
C / C++ (22)
Perl (4)
Builder / Delphi (16)
Pascal (23)
Basic / VBA (9)
Java / JavaScript (10)
PHP (8)
MySQL / MSSQL (7)
Криптография (5)
WinAPI (7)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (26)
"Железо" (23)
Поиск информации (15)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (5)
Юристу
Гражданское право (10)
Семейное право (5)
Трудовое право (9)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное