Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Как вставить текст ошибки из окна IDE на форум


Автор: Akella 26.11.2008, 00:18
Некоторые пользователи форума не совсем удобно показывают тексты своих ошибок при выполнении программ.
Подсказка №1.
Если во время выполнения программы в среде программирования вываливается ошибка, то делаешь окно активным и нажимаешь на клавиатуре сочетание клавиш CTRL+C. Текст об ошибке из окна IDE копируется в буфер обмена. Потом вставляй на форум (CTRL+V). 

Подсказка №2.
Картинку можно закачать на сервер http://shot.qip.ru/

и получить вот так:
user posted image


ссылку на превью:
http://shot.qip.ru/00b6pX-2adNBVjPy/



теперь и нагрузка небольшая при загрузке страничек форума, и кому нужно может глянуть полный размер, щёлкнув по предварительному просмотру левой кнопкой мышки.

Если картинка небольшая, то можно вставлять без предварительного просмотра, используя кнопку "Рисунок" слева от окна ввода сообщения, просто вставляешь ссылку на рисунок.  smile 

Также есть замечательная программа shot.qip.ru, которая по сочетанию клавиш [Ctrl+]Print Screen поможет создать снимок экрана/окна, выделить что-либо на снимке или нарисовать. Программа очень удобная.

Автор: Akella 12.12.2008, 14:21
И вот ещё, Ctrl+C работает не только в случае ошибки. 
Вот исходный код программы:
Код

  sql:='select first 1 r.id ' +
    'from treklama r ' +
    'where (r.id2 = 0) ' +
    '  and (r.sort_napr = ' + IntToStr(snapr) + ') ' +
    '  and (r.sort_type = ' + IntToStr(stype) + ') ' +
    '  and (r.sort_razdel = ' + IntToStr(srazd) + ') ' +
    '  and (r.sort_rubrika = ' + IntToStr(srub) + ') ' +
    '  and (r.sort_region = ' + IntToStr(sreg) + ') ' +
    '  and (r.sort_vid = ' + IntToStr(svid) + ') ' +
    '  and (r.id_agency = ' + IntToStr(Id_Agency) + ') ' +
    '  and (r.REC_TO_EXPORT = 1) '+
    ' order by  r.sort_napr,  r.sort_type,  r.sort_razdel,  r.sort_rubrika,  r.sort_region,  r.sort_vid, r.id_agency';

   ShowMessage(sql);//во время исполнения кода будет показано окно с текстом, чтобы не делать снимок экрана, можно просто нажать Ctrl+C



благодаря    ShowMessage(sql)  во время исполнения кода будет показано окно с текстом, чтобы не делать снимок экрана, можно просто нажать в окне Ctrl+C


и получим в буфере обмена текст из окна с сообщением
Цитата

---------------------------
Заголовок окна
---------------------------
select first 1 r.id from treklama r where (r.id2 = 0)   and (r.sort_napr = 1)   and (r.sort_type = 1)   and (r.sort_razdel = 1)   and (r.sort_rubrika = 1)   and (r.sort_region = 1)   and (r.sort_vid = 1)   and (r.id_agency = 4)   and (r.REC_TO_EXPORT = 1)  order by  r.sort_napr,  r.sort_type,  r.sort_razdel,  r.sort_rubrika,  r.sort_region,  r.sort_vid, r.id_agency
---------------------------
OK   
---------------------------


это работает в любюй виндовой программе, а не только в дельфи

Автор: Akella 18.12.2008, 18:01
Как я понял, то в диалоговых окнах с сообщениями при запущенной программе НЕ из под IDE можно тоже нажать Ctrl+C и получить в буфере текст из окна сообщения. smile 

Автор: Akella 19.12.2008, 10:27
Расшифровка кода ошибки GetLastError
Как получить строку сообщения об ошибке Windows, числовой код которой получен функцией GetLastError?

С помощью SysErrorMessage(GetLastError)
Код

Procedure TForm1.Button1Click(SEnder: TObject);
Begin
//какие-нибудь операции, например, копирование файла

//а теперь проверка, что возвращает GetLastError
if GetLastError > 0 then
  ShowMessage(SysErrorMessage(GetLastError));//показываем текст ошибки
End; 

Автор: ProgramerForever 26.5.2011, 08:40
Добавлю свои 5 копеек:
Чтобы не "резать" картинку, выделяя нужное окно из скриншота, удобно делать скриншот не всего экрана, а только активного окна. Это делается с помощью сочетания <Alt> + <PrtScr>

Автор: Akella 26.5.2011, 09:16
это нужно писать на форуме блондинок, а не на форуме ПРОГРАММИСТОВ!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)