Re: Новости дискуссионного листа "Программирование. Форум !!!"
Привет !
> Здравствуй Vic!
> Проблема с RichEdit в следующем:
> В 98 вычитывая строки из текста файла она как мне показалость по концу
> строки вставку текста прекращает но старый текст не удаляет
>
> Например предыдущая стпрока
>
> Напрвляю вам для внедрения
>
> Новая строка
>
> Вышлите квитанцию
>
> Итоговая строка RichEdit
>
> Вышлите квитанциюля внедрения
>
> Так как функция возврата длинны строки вовращает значение совершенно не
> связанное с только что прочитанной строкой разобраться становится трудно
> Я тоже подумалбчто либо версия не иа либо необходимо инициализировать
> другими опциями. Если у тебя есть перечени всех его опций инициализации то
> пришли мне.
А вы как текст извлекаете ?
Попробуйте сделать вот так :
Допустим, есть объект m_wndRichEdit класса CRichEditCtrl, из которого надо
выделить все строки.
Вот пример :
int nLineLength, nLineCount = m_wndRichEdit.GetLineCount();
CString strText, strLine;
for(int i = 0; i < nLineCount; i++)
{
nLineLength = m_wndRichEdit.LineLength(i);
m_wndRichEdit.GetLine(i, strText.GetBufferSetLength(nLineLength),
nLineLength);
strText.ReleaseBuffer();
strLine.Format("Line %d : %s", i, (LPCTSTR) strText);
MessageBox((LPCTSTR) strLine);
}
Насчет инициализации - могу понадергать из MSDN описания стилей и
расширенных
стилей этого контрола. Это, вобщем то все что там может быть особенного.
Надо ?
> И еще один вопрос гдето мне встречалась строка для вызова командной строки
> из текста программы ну например вызвать arj x -v -y file но не помню где.
> Так что пришли мне пожалуста как это правильно вызвать
>
> Сегодня просто дописал FTP для перекачки многотомных архивов и хочу их
> тут-же собирать
Запускать другие процессы проще всего через функцию ShellExecute.
Точнее, функций то много (WinExec еще например, всякие функции Runtume -
библиотек). Самая общая функция - CreateProcess.
Но для простых задач удобнее всего пользоваться
Вот прототип :
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
hwnd - дескриптор родительского окна (можно просто NULL указать).
lpOperation - строка, указывающая какое действие надо произвести.
Может быть :
edit - открывает документ на редактирование. При этом lpFile должен быть
именем файла документа (путь к нему).
explore - открывает папку, путь к которой задан в lpFile.
find - запускает поиск по директории.
open - запускает файл. Если это исполнимый файл, то запускает, иначе -
запускает
приложение, связанное с типом файла и через DDX передает туда имя файла
документа.
print - печатает документ, путь к которому в lpFile.
NULL
lpParameters - параметры - например параметры командной строки при запуске
экзешника.
lpDirectory - директория по умолчанию.
nShowCmd - флаги того, в каком состоянии запускать приложение. Это те же
флаги, что передаются в ShowWindow.
То есть :
SW_HIDE
SW_MAXIMIZE
SW_MINIMIZE
SW_RESTORE
SW_SHOW
SW_SHOWDEFAULT
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL
А пример запуска экзешника такой :
ShellExecute(/*например дескриптор окна какого нибудь*/ m_hWnd, "open",
"c:\\MyProgram.exe", NULL, NULL, SW_SHOWNORMAL);
В вашем случае можно :
ShellExecute(NULL, "open" "d:\\arj.exe", "x -v -y file", NULL,
SW_SHOWNORMAL);
Vic.
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru