Последние записи
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
16th
Июн
Как пользоваться пакетом java.io
try
{
mkdirs = new File(name).exists();
if (mkdirs)
{
File file = new File(name);
boolean success = file.delete();
success = file.createNewFile();
}
else
{
File file = new File(name);
boolean success = file.createNewFile();
}
}
catch (IOException ex)
{
Logger.getLogger(Switch.class.getName()).log(Level.SEVERE, null, ex);
}
16th
Создание динамической ссылки.
const
MySite = 'www.sait.ru'; // название твоего сайта
procedure TForm1.Edit1Change(Sender: TObject);
var
Mylink: string; // новая ссылка
begin
stat:= Copy(edit1.text, 1, Pos(' ',edit1.Text)-1);
Mylink:= MySite + '/' + stat; // www.sait.ru/stat
end;
15th
Июн
3D НЕБО в DELPHI
Здравствуйте уважаемые программисты, я пишу 3D движок и столкнулся с проблемой, как делать небо?
Если можно, то скажите как рисуется небо в авиа симуляторах?
Метод CubeMap, берешь 6 картиночек CubeMap, грузишь их при создании сцены и обрабатываешь типа:
Код:
procedure DrawSkyBox; begin glColor3f(0.3,0.3,0.3); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glPushMatrix; glTranslatef(Scene1.Player.x,Scene1.Player.y,Scene1.Player.z);
glBindTexture(GL_TEXTURE_2D,Tex[SB_BACK]); glBegin(GL_QUADS); glTexCoord2f(1, 0); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 0); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(1, 1); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd;
glBindTexture(GL_TEXTURE_2D,Tex[SB_FRONT]); glPushMatrix; glRotatef(180, 0, 1, 0); glBegin(GL_QUADS); glTexCoord2f(1, 0); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 0); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(1, 1); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd; glPopMatrix;
glBindTexture(GL_TEXTURE_2D,Tex[SB_LEFT]); glPushMatrix; glRotatef(-90, 0, 1, 0); glBegin(GL_QUADS); glTexCoord2f(1, 0); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 0); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(1, 1); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd; glPopMatrix;
glBindTexture(GL_TEXTURE_2D,Tex[SB_RIGHT]); glPushMatrix; glRotatef(90, 0, 1, 0); glBegin(GL_QUADS); glTexCoord2f(1, 0); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 0); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(1, 1); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd; glPopMatrix;
glBindTexture(GL_TEXTURE_2D,Tex[SB_TOP]); glPushMatrix; glRotatef(-90, 1, 0, 0); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(1, 1); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(1, 0); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd; glPopMatrix;
glBindTexture(GL_TEXTURE_2D,Tex[SB_BOTTOM]); glPushMatrix; glRotatef(90, 1, 0, 0); glBegin(GL_QUADS); glTexCoord2f(1, 1); glVertex3f(-SkyRad, -SkyRad, SkyRad); glTexCoord2f(1, 0); glVertex3f(SkyRad, -SkyRad, SkyRad); glTexCoord2f(0, 0); glVertex3f(SkyRad, SkyRad, SkyRad); glTexCoord2f(0, 1); glVertex3f(-SkyRad, SkyRad, SkyRad); glEnd; glPopMatrix; glPopMatrix; end;
end.
А т.н. окружение сцены можно делать просто скроллом картинок по небу, можно добавить 3Д анимацию. много можно чего…
14th
Июн
Анимация на ассемблере.
Смотрим идущего человечка.
code segment
ASSUME CS:code, DS:DATA_SEG, ES:NOTHING, SS:STACK_SEG
start:
MOV AX,DATA_SEG
MOV DS,AX
MOV AX,STACK_SEG
MOV SS,AX
MOV SP, OFFSET TOP_OF_STACK
MOV AX,13h
INT 10h
MOV AX,0A000h
MOV ES,AX
CLD
MOV DI,320*12
MOV BH, 48
MOVE_MASK:
MOV AL, NOM_KADR
CMP AL,0
JNZ KADR2
MOV NOM_KADR, 1
MOV SI, OFFSET H1
JMP SHOW_KADR
KADR2:
MOV NOM_KADR, 0
MOV SI, OFFSET H2
SHOW_KADR:
PUSH DI
MOV BL,13
DRAW_H:
MOV CX,12
REP MOVSB
ADD DI,320-12
DEC BL
JNZ DRAW_H
POP DI
INC DI
READ_KEY:
MOV AH,08h
INT 21h
cmp al,0 ; Проверка на расш.коды
JZ READ_KEY
cmp al, 'q'
JNZ MOVE_MASK
MOV AX,3
INT 10h
MOV AH,4Ch
INT 21h
DATA_SEG SEGMENT
H1 DB 0,0,0,0,0,9,9,9,9,0,0,0
DB 0,0,0,0,0,9,9,9,9,0,0,0
DB 0,0,0,0,0,9,9,0,0,0,0,0
DB 0,0,0,9,9,9,9,9,9,0,0,0
DB 0,0,0,9,9,9,9,9,9,0,0,0
DB 0,9,9,0,0,9,9,0,0,9,9,0
DB 0,9,9,0,0,9,9,0,0,9,9,0
DB 0,0,0,0,0,9,9,0,0,0,0,0
DB 0,0,0,0,0,9,9,0,0,0,0,0
DB 0,0,0,9,9,0,0,9,9,0,0,0
DB 0,0,0,9,9,0,0,9,9,0,0,0
DB 0,9,9,0,0,0,0,0,0,9,9,0
DB 0,9,9,0,0,0,0,0,0,9,9,0
H2 DB 0,0,0,0,0,9,9,9,9,0,0,0
DB 0,0,0,0,0,9,9,9,9,0,0,0
DB 0,0,0,0,0,9,9,0,0,0,0,0
DB 0,0,0,9,9,9,9,9,9,0,0,0
DB 0,0,0,9,9,9,9,9,9,0,0,0
DB 0,9,9,0,0,9,9,0,0,9,9,0
DB 0,9,9,0,0,9,9,0,0,9,9,0
DB 0,0,0,0,0,9,9,0,0,0,0,0
DB 0,0,0,0,0,9,9,9,9,0,0,0
DB 0,0,0,9,9,0,0,9,9,0,0,0
DB 0,0,0,9,9,0,0,9,9,0,0,0
DB 0,9,9,0,0,0,0,9,9,0,0,0
DB 0,9,9,0,0,0,0,0,0,0,0,0
NOM_KADR DB 0
DATA_SEG ENDS
STACK_SEG SEGMENT
DB 64 DUP('STACK')
TOP_OF_STACK DW ?
STACK_SEG ENDS
code ends
end start
end
14th
Разгон USB модемов
Частенько создаются темы связанные с разгоном usb- модемов, мобильных телефонов(также, используемых в качестве модемов). Здесь я предлагаю выкладывать статьи по разгону. Итак, начну первый:
Что влияет на скорость трафика? и Как повысить его скорость?
Отрицательно на скорость трафика влияют следующие показатели:
1) Погодные условия, такие как сильный снегопад, дождь, гроза, облачность, туман.
При этих условиях связь становиться хуже, так как данные явления имеют свойство поглощать часть энергии радиоволн и их отражать.
2) Зона покрытия радиоантенн(GPRS-вышек). Мощность излучения таких антенн не велика до нескольких километров в радиусе. Поэтому, там, где зона покрытия нескольких антенн – перекрещивается сигнал ОТЛИЧНЫЙ. В самой зоне сигнал так же на уровне хорошо – отлично. Так же в городе могут присутствовать и мертвые зоны, но это как правило зоны по площади незначительны и ими можно пренебречь при составлении карт покрытия GPRS. Естественно, чем Вы ближе к границе покрытия вышки, тем связь ХУЖЕ. Решением проблемы будет купить мобильник с мощным усилителем радиосвязи или же для 3G модема собрать собственный усилитель связи, в сборке он не сложный. Тут я увидел идею про то, чтобы удлинить антенну приёма, что ж, тоже сойдёт и работать будет, но не так существенно.
, поэтому?3) Настройки ПК. Windows как и человек тоже любит Интернет для себя родной ворует у нас часть трафика. По умолчанию забирает 20 процентов пропускной способности в независимости от типа соединения. Для чего, Вы спросите у ProgaBita? Да ведь и так понятно для апгрейта (т.е. для автоматического обновления). Чтобы это ИСПРАВИТЬ делаем следующее:
— ПУСК
— Выполнить
— В строке набираете команду gpedit.msc
— Появиться окно «Групповая политика», в этом окне выбираете «Административные шаблоны»
— Далее «Сеть»
— Тут выбираете «Диспетчер пакетов QoS»
— Выбираете «Ограничить резервную пропускную способность»
— Появится окно «Свойств». В этом окне выбираете из трех пунктов «ВКЛЮЧЕН,» а в строке «Ограничение пропускной способности в (%)» укажите ноль.
— Далее «Применить» и потом «Ок».
Обратите внимание на то, что состояние данного свойства теперь включено. Закройте окно.
И так мы с вами увеличили скорость на 20%! Но это еще не всё!
Выбираем
— ПУСК
— Выполнить
— В строке набираете команду regedit.exe
— Появиться моё любимое окно «Редактор реестра» Windows, в нём перейдите по следующему пути
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ntrolSet\Services\Tcpip\Parameters]
Там найдите параметр “TcpWindowSize” (RWIN), которое определяет какой максимальный размер (в байтах) TCP/IP-пакета мы сможем принять. Чтобы не экспериментировать и подобрать оптимальное значение, нужно исходить из того, каким способом Вы подключаетесь к Интернету смотрите таблицу, которую я составил для Вас:
DSL, cabel modem:
до 512 Кбит ————-RWIN = 10164 и MTU = 1492
512 Кбит и выше —— RWIN = 13068 и MTU = 1492
1 Мбит и выше ——– RWIN = 24684 и MTU = 1492
2 Мбит и выше ——– RWIN = 47916 и MTU = 1492
3 Мбит и выше ——– RWIN = 71148 и MTU = 1492
6 Мбит и выше ——– RWIN = 140844 и MTU = 1492
16 Мбит и выше ——- RWIN = 1374616 и MTU = 1492
25 Мбит и выше ——- RWIN = 585156 и MTU = 1492
50 Мбит и выше ——- RWIN = 1168860 и MTU = 1492
100 Мбит и выше —— RWIN = 2337720 и MTU = 1492Dial-up соединение:
Интернет телефон модем (56 Кбит) —— RWIN = 7300 и MTU = 1492
ISDN один канал (64 Кбит, стандарт)—– RWIN = 2920 и MTU = 1492
ISDN два канала (128 Кбит) —————- RWIN = 4380 и MTU = 1492
GPRS (2G, 2.5G) ———————– RWIN = 10052 и MTU = 1476
EDGЕ он же E- GPRS(2.75G) ——- RWIN = 28720 и MTU = 1476
UMTS(3G) —————————— RWIN = 189552 и MTU = 1476
HSDPA(3G+, 3.5G) ——————- RWIN = 377668 и MTU = 1476
WiMax(4G) —————————– RWIN = 1176084 и MTU = 1476
Домашняя сеть (LAN) ————— RWIN = 2064440 и MTU = 1500
Значение MTU, определяет какой максимально допустимый размер (в байтах) TCP/IP-пакета, мы сможет отправить с нашего компьютера. Вообще это значение можно ставить и больше, скажем 10000 байт. Для того чтобы установить значение MTU перейдите по этому пути
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ntrolSet\Services\Tcpip\Parameters\ Interfaces]
А для того чтобы Винда сама автоматически определяла MTU, сделаёте следующее: переёдите по этому пути
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ntrolSet\Services\Tcpip\Parameters]
Найдите параметр EnablePMTUDiscovery и установите его в 1.
Перед тем как взяться за настройку пропускной способности хочу сказать вот что: подходите к делу творчески и главное разумно. Вряд ли модем рассчитанный на 56 Кбит сможет принять пакет в 10000 Кбит сразу, так Вы только затрачиваете дополнительное время на обработку запроса. Не надо весь трафик убивать только на загрузку данных, надо же что-то оставить и на запрос!
13th
Июн
Как вывести русский текст в графическом режиме? Pascal.
uses graph, dos;
{$L EGA3FONT.OBJ}
procedure Ega3Font; external;
var gd, gm: integer;
begin
SetIntVec($1F, @Ega3Font);
gd := detect;
InitGraph(gd, gm, '');
OutTExtXY(260, 220, 'Что-то в dos-кодировке');
ReadLn;
CloseGraph;
end.
EGA3FONT – шрифт, выдранный из русского доса, содержит символы с кодами 128-255 (русские буквы и псевдографика), пропущенный через утилиту binobj и слинкованный с программой.
В аттаче пример и русские векторные шрифты (те, что через SetTextStyle выбираются)
13th
Аудио вКонтакте.
И так, в последнее время развелось очень много программ – фейков для вконтакта. Некоторые программы ищут музыку вконтакте, и дают возможность скачать её. Программам этим я не доверяю, и решил сделать свою, для себя. Разубеждать меня не надо =)
Вопрос: как получить ссылку на скачивание той или иной музыки?
Исходный код audio.php перерыл, ссылок не нашел, хорошо, видать, Дуров защитил =)Может, кто поможет.. Я не прошу написать за меня код, прошу просто подсказки. Копирование из кеша неподойдет.
http://cs4586.vkontakte.ru/u2663363/audio/61bea91731fc.mp3
вот, надеюсь понятно?)) (правда запоздал немного)
вот моя старая функция(раньше то везде ссылок чистых не было)
function WB_AudioLinkMP3(sourse:string):string;
var s:string;
begin
s:=sourse;
if Pos('operate',s)=0 then exit;
Delete(s,1,PosEx('(',s,Pos('operate',s)));
Delete(s,1,Pos(',',s));
sourse:='http://cs'+Copy(s,1,pos(',',s)-1);
Delete(s,1,Pos(',',s));
sourse:=sourse+'.vkontakte.ru/u'+Copy(s,1,pos(',',s)-1);
Delete(s,1,Pos(',',s));
sourse:=sourse+'/audio/'+Copy(s,2,pos(',',s)-3)+'.mp3';
Result:=Sourse;
end;
правда он не очень оптимизирован
можно и лист бокс, раньше я когда то занимался этим(сейчас то вернусь в эту тему…но не раньше чем разберусь со своей библиотекой классов на С++/Delphi(правда С++ важнее в этом плане))
я юзал листбокс, а если парсить и далее этой кнопки(данные песни) то можно и в листвиев все запихать как угодно
Интересная тема на форуме. Советую присоединиться к обсуждению.
11th
Июн
Создание exe-файла
Для удовлетворения любопытства, создаю минимодель простейшего компилятора. Пока остановился на стадии синтаксического разбора(выполняется операция “сдвиг-свертка”), следующим шагом будет построение триад, однако забегая вперед задумался над вопросом, как создать исполняемый файл. Прошу вкратце объяснить, как создается exe-шник, или даже просто com-файл. Заранее благодарен за внимание
Интересная тема на форуме о низкоуровневом программировании.
10th
Июн
Перегрузка оператора “=”(присваивание)
Класс person содержит поля beg1 (как минимум)
person &person:perator=(person &z) //в левой и правой частях от оператора два объекта типа person
{
node1 *p, *pend, *pz;
if (&z == this) return *this; //если правая и левая часть равны возвращаем левую часть
if (z.beg1==NULL) beg1=NULL;
else {p=new node1;
if (p==NULL) {cout<<"ERROR... Lack of Memory.\n"; //типа не удалось выделить память
getch(); //задерживаем экран чтобы пользователь прочитал ошибку
exit(-1); //завершаем выполнение программы
}
p->d=z.beg1->d;
p->next=NULL;
beg1=p;
pend=p;
for (pz=z.beg1->next;pz!=NULL;pz=pz->next) //в этом цикле в p присваивается z.beg1
{p=new node1;
if (p==NULL) {cout<<"ERROR... Lack of Memory.\n";
getch();
exit(-1);
}
p->d=pz->d; //присваиваем поле d
p->next=NULL; //на каждой итерации мы предполагаем что этот элемент последний
pend->next=p; //pend теперь не последний, делаем
pend=p; //его таковым
}
}
return *this; //возвращаем текущий объект
}
10th
Создание робота и все что с ним связанно
Интересная тема на форуме о создании роботов. Со ссылками на интересные ресурсы, советами и размышлениями.
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)