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

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


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


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

Выпуск № 411
от 26.11.2003, 18:40

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1270
Отправлено ответов: 2819
Активность: 221.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


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

Gibbel
Статус: Профессиональный
Общий рейтинг: 106.43
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Avl2k
Статус: Профессиональный
Общий рейтинг: 124.4
[Подробней >>]
chebv
Статус: Доверительный
Общий рейтинг: 113.38
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.08
[Подробней >>]


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

Вопрос № 1259. Доброго Вам времени суток, уважаемые эксперты! Спасибо за ответы на предыдущий вопрос - помогло :) П... (ответов: 1)
Вопрос № 1260. Доброго здравия мастерам своего дела!!! Мне надо написать программу, которая работает с листом(лист... (ответов: 2)
Вопрос № 1261. Добрый день уважаемые Эксперты! Как можно узнать текущий аккаунт пользователя в WinXP? (VC(MFC)) ... (ответов: 1)
Вопрос № 1262. Доброго времени суток! Подскажите пожалуйста как сделать! Создаю несколько массивов, двумерный и 2 о... (ответов: 2)

Вопросов: 4, ответов: 6


 Вопрос № 1259

Доброго Вам времени суток, уважаемые эксперты!
Спасибо за ответы на предыдущий вопрос - помогло :)
Правда, возникли новые трудности:
1) нужно проверить наличие некоторого файла (например, file.dat). Я использую функцию FindFirstFile("file.dat", lpWin), где lpWin - указатель на структуру LPWIN32_FIND_DATA, объявленную выше. Но она по любому возвращает HANDLE=-1 :(
2) нужно заблокировать некоторый файл - есть функция LockFile, которая блокирует некоторый регион в открытом файле. Но получает она какие-то жуткие параметры - ладно, хендл файла я ей кинуть могу, но что она понимает под
"low-order word of offset" и иже с ними - понять не могу :((
Если можно, поясните оба этих вопроса на каком-нибудь примере (MSVC++ 6.0).
Заранее благодарен.



Вопрос отправлен: 23.11.2003, 07:40
Отправитель: Ренат (renatka_f@mail.ru)

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

Отвечает Gibbel

Здравствуйте, Ренат!
Ну, вопросы совсем даже не по C/C++, а по WinAPI...
1. Попробуйте открыйть на чтение требуемый файл (функция CreateFile()). Если открывается - значит файл существует, если нет - смотрите код ошибки (функция GetLastError()), если он ERROR_FILE_NOT_FOUND, значит файл не существует. Не забывайте закрывать все открытые файлы.
2. Размер файла в файловой системе NTFS может представлять собой 64-битное значение (в FAT - 32-битное). Соответственно, смещение в файле так же может представлять из себя 64-разрядное значение. Функция LockFile() принимает 64-битные значения, разделенные на пару 32-битных значений. Соответственно, получаем:

BOOL LockFile(
HANDLE hFile,
//хэндл файла
DWORD dwFileOffsetLow,
//младшее двойное слово смещения
DWORD dwFileOffsetHigh,
//старшее двойное слово смещения
DWORD nNumberOfBytesToLockLow,
//младшее двойное слово длины блокируемой области
DWORD nNumberOfBytesToLockHigh
//старшее двойное слово длины блокируемой области
);



Ответ отправлен: 24.11.2003, 14:54
Отправитель: Gibbel


 Вопрос № 1260

Доброго здравия мастерам своего дела!!!
Мне надо написать программу, которая работает с листом(листами)EXCEL. В Builder вроде даже есть такие элементы как Excel Workbook и Excel WorkSheet. Подскажите, пожалуйста, как с этим Excel’ем работать? Если можно, с примерчиком.
Заранее благодарен
Still me, Merovingian



Вопрос отправлен: 23.11.2003, 11:49
Отправитель: Merovingian

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

Отвечает Avl2k

Здравствуйте, Merovingian!
Не знаю, как в BC, а Visual C++ с Excel можно работать через OLE, используя директиву #import. Эта директива генерирует C++ обертки для интерфейсов на основе библиотеки типов.
Пример см. ниже.
С уважением, Avl2k.
#include <iostream>
#import "C:\Program Files\Microsoft Office\Office\MSO9.DLL"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\Program Files\Microsoft Office\Office\Excel9.olb" rename("DialogBox", "_DialogBox") rename("RGB", "_RGB")
using namespace Excel;
using namespace std;
void main()
{
HRESULT hr = ::CoInitialize( NULL );
if( SUCCEEDED( hr ) )
{
try
{
_ApplicationPtr app;
if( SUCCEEDED( app.CreateInstance( L"Excel.Application" ) ) )
{
app->Workbooks->Add();
_WorksheetPtr w = app->Sheets->Add();
app->ActiveCell->FormulaR1C1 = "1111";
}
}
catch(const _com_error& e)
{
cout << e.ErrorMessage() << endl;
}
::CoUninitialize();
}
}

Ответ отправлен: 24.11.2003, 19:01
Отправитель: Avl2k


Отвечает chebv

Приветствую Вас, Merovingian!
http://www.rsdn.ru/article/vcpp/import.xml

Ответ отправлен: 24.11.2003, 07:59
Отправитель: chebv


 Вопрос № 1261

Добрый день уважаемые Эксперты!
Как можно узнать текущий аккаунт пользователя в WinXP?
(VC(MFC))



Вопрос отправлен: 23.11.2003, 12:26
Отправитель: Alex (2ds@hotmail.ru)

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

Отвечает Avl2k

Здравствуйте, Alex!
См. здесь.
С уважением, Avl2k.

Ответ отправлен: 24.11.2003, 18:03
Отправитель: Avl2k


 Вопрос № 1262

Доброго времени суток!
Подскажите пожалуйста как сделать!
Создаю несколько массивов, двумерный и 2 одномерных, а потом хочу передать их в функцию для работы с ними! Их надо передать так, чтобы в функции я их мог изменять, как это сделать? Как затем в функции к ним обращаться?
С уважением, ILYA D.



Вопрос отправлен: 23.11.2003, 16:11
Отправитель: ILYA D.

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

Отвечает vitya

Добрый день, ILYA D.!
Скорее всего изменять надо их значения... тогда
void f(int ** pMatrix, int * pVectorI, float * pVectorF);

Ответ отправлен: 23.11.2003, 18:48
Отправитель: vitya


Отвечает chebv

Здравствуйте, ILYA D.!
Изменять значения массива в функции просто, т.к. переменная, объявленная как массив, фактически является указателем на первый элемент массива.

Приложение:

Ответ отправлен: 24.11.2003, 14:18
Отправитель: chebv



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (28)
C / C++ (22)
Perl (3)
Builder / Delphi (18)
Pascal (20)
Basic / VBA (6)
Java / JavaScript (10)
PHP (12)
Криптография (6)
WinAPI (10)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (56)
"Железо" (35)
Поиск информации (19)
Администратору
Windows NT/2000/XP (34)
Linux / Unix (14)
Юристу
Гражданское право (11)
Семейное право (8)
Трудовое право (9)
КоАП (6)

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




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


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

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

В избранное