Последние записи
- Чтение данных с COM порта 232
- Как убрать Access Violation при Destroy компонента?
- Получить длительномть трека. Bass.dll
- → Выбираем логотип журнала ПРОграммист ←
- RxTrayIcon
- Конвертирование utf-8 в windows-1251
- Рассылка. Выпуск 73.
- Исскуство изменеия GTA
- Библиотека файловой системы AT45DB161
- Энкодер датчика pdf на плис. Часть 2
Чтение данных с COM порта 232
Код:
#include <vcl.h>
#pragma hdrstop
#include <windows.h>
//—————————————————————————
/*
ZeroMemory (&dcb, sizeof (DCB));// не знает что ето такое
*/
//объявим структуру для асинхронной работы порта
OVERLAPPED over;
//для выделения сигнала
DWORD dwSignal;
//объявим структуру для конфигурации СОМ порта
DCB dcb;
//дескриптор порта
HANDLE hPortDat = NULL;
//переменная для чтения
char Data;
//==================================
//—————————————————————————
class MuClDataOutPort
{
private:
//пишим функцию инициализации порта
bool InnitPort ()
{
//открываем порт СОМ 1
hPortDat = [...]
September 2nd, 2010 by bullvinkle
- Comments Off
- Пост-обзор
Как убрать Access Violation при Destroy компонента?
artemavd
Код:
var
i: integer; //создавал “левую” переменную, которая ничего не делает
begin
try
… //тут выполнялся мой код какой-то
except
{далее идет обработка ошибки. Помести то что идет после
except в код туда, что “провоцирует” ошибку}
on EAccessViolation do
//блок begin…end в данном случае необязателен. Это у меня просто
привычка после do писать его [...]
September 1st, 2010 by bullvinkle
- Comments Off
- Пост-обзор
Получить длительномть трека. Bass.dll
Код:
function QBass_GetTime(const Channel: DWORD): DWORD; stdcall;
var
pPos: Cardinal;
AllTime: Cardinal;
begin
result := 0;
pPos := BASS_ChannelGetLength(Channel, BASS_POS_BYTE);
if (pPos > 0) then
begin
Alltime := Trunc(BASS_ChannelBytes2Seconds(Channel, pPos));
Result := Alltime;
end;
end;
вот так получай длину трека
Код:
var
mch: dword;
lng: dword;
begin
mch := [...]
August 31st, 2010 by bullvinkle
- Comments Off
- Пост-обзор
Конвертирование utf-8 в windows-1251
Код:
string Utf8_to_cp1251(const char *str)
{
string res;
int result_u, result_c;
result_u = MultiByteToWideChar(CP_UTF8,
0,
str,
-1,
0,
0);
if (!result_u)
return 0;
wchar_t *ures = new wchar_t[result_u];
if(!MultiByteToWideChar(CP_UTF8,
0,
str,
-1,
ures,
result_u))
{
delete[] ures;
return 0;
}
result_c = WideCharToMultiByte(
1251,
0,
ures,
-1,
0,
0,
0, 0);
if(!result_c)
{
delete [] ures;
return 0;
}
char *cres = new char[result_c];
if(!WideCharToMultiByte(
1251,
0,
ures,
-1,
cres,
result_c,
0, 0))
{
delete[] cres;
return 0;
}
delete[] ures;
res.append(cres);
delete[] cres;
return res;
}
Тема на форуме.
August 30th, 2010 by bullvinkle
- Comments Off
- Пост-обзор
Как отключить загрузку картинок в Firefox?
pu4koff:
Инструменты / Настройки / Содержимое / Автоматически загружать изображения
Тема на форуме
August 24th, 2010 by Chas
- Comments Off
- Пост-обзор
Как в WebBrowser выбрать из списка и нажать на кнопку?
zlodey:
Нажатие на кнопку:
код:
procedure PSpisokClick;
var HtmlDocument : IHtmlDocument2;
i : integer;
HtmlCollection : IHtmlElementCollection;
HtmlElement : IHtmlElement;
spisok : string;
begin
HtmlDocument := BrowserMain.Document as IHtmlDocument2;
HtmlCollection := HtmlDocument.All;
for i := 0 to HtmlCollection.length – 1 do
begin
if stop = 1 then Exit;
[...]
August 24th, 2010 by Chas
- Comments Off
- Пост-обзор
Получить идентификатор процесса и узнать полуный путь до файла этого процесса. c/c++
Пишу небольшую программу, мне нужно чтобы она искала заданный мною выполняемый процесс. Подскажите какая это функция может сделать, быть может это win api функция?
Sazary:
код:
#include <windows.h>
#include <stdio.h>
#include <TlHelp32.h>
#include <conio.h>
#include <string.h>
#include <psapi.h>
using namespace std;
int main()
{
HANDLE h,hp;
PROCESSENTRY32 pe;
int id;
bool bl,flag=false;
char name[256],str[256];
char path[MAX_PATH];
DWORD dw;
HMODULE [...]
August 23rd, 2010 by Chas
- Comments Off
- Пост-обзор
Пример установки разрешения 1152х864 под Windows. asm
код:
; masm windows gui #
.686P
.model flat
include windows.inc
includelib user32.lib
extern _imp__ChangeDisplaySettingsA@8:dword
extern _imp__EnumDisplaySettingsA@12:dword
.code
start: mov edi,offset lpDevMode
push edi
push ENUM_CURRENT_SETTINGS
push 0
call _imp__EnumDisplaySettingsA@12
assume edi:ptr DEVMODE
mov [edi].dmPelsWidth,1152;
mov [edi].dmPelsHeight,864;
mov [edi].dmFields,(DM_PELSWIDTH or DM_PELSHEIGHT)
assume edi:nothing
push CDS_UPDATEREGISTRY
push edi
call _imp__ChangeDisplaySettingsA@8
ret
.data
lpDevMode DEVMODE
end start
Тема на форуме
August 23rd, 2010 by Chas
- Comments Off
- Пост-обзор
Как узнать количество строк в memo?
У новичков может возникнуть такой вопрос.
код:
a := Memo1.Lines.Count;// кол-во строк Memo1
Нумерация строк начинается с нуля.
Тема на форуме
August 23rd, 2010 by Chas
- Comments Off
- Пост-обзор
Определить нажата правая клавиша мыши?
Событие OnMouseDown у формы, проверяя таким макаром:
код:
if Button=mbRight then Form2.ShowModal;
Тема на форуме
August 23rd, 2010 by Chas
- Comments Off
- Пост-обзор
Как развернуть flash-приложение во весь экран?
Kotofff:
Компонент которым показываешь (проигрываешь) флеш-ролик в программе выравнивай на всю форму, а с самой формой можно так :
код:
procedure TForm1.FormCreate(Sender: TObject);
var
HTaskbar: HWND;
OldVal: LongInt;
begin
try
HTaskBar := FindWindow(’Shell_TrayWnd’, nil);
SystemParametersInfo(97, Word(True), @OldVal, 0);
EnableWindow(HTaskBar, False);
ShowWindow(HTaskbar, SW_HIDE);
finally
[...]
August 23rd, 2010 by Chas
- Comments Off
- Пост-обзор
Как в ListView показывать/прятать колонки?
Stilet:
Прятать просто освобождая:
Код:
ListView1.Columns[].Free
Добавлять
Код:
var l:TListColumn;
begin
l:=TListColumn(ListView1.Columns.Insert(0));
При этом данные, которые должны лежать в колонках не исчезают. Просто корректируется список колонок.
Тема на форуме
August 21st, 2010 by Chas
- Comments Off
- Пост-обзор


