Последние записи
- Windows 10 сменить администратора
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
8th
Авг
Как yменьшить картинку с помощью php
// — Настройки
define(’WIDTH’,200); // Ширина иконки
define(’HEIGHT’,200); // Высота иконки
define(’R’,255);define(’G’,255);define(’B’,255); // RGB для фонового цвета под иконкой
// — Поехали
$imageInfo = getimagesize( $file );
switch( $imageInfo[2] ){
case 1: $image = imagecreatefromgif( $file ); break;
case 2: $image = imagecreatefromjpeg( $file ); break;
case 3: $image = imagecreatefrompng( $file ); break;
default: exit();
}
//— Создание иконки фотки
$result = imagecreatetruecolor(WIDTH,HEIGHT);
$bg = imagecolorallocate( $result, R, G, B );
imagefilledrectangle( $result, 0, 0, WIDTH-1, HEIGHT-1, $bg );
//— Вычисляем соотношение сторон для иконки
$ratio1 = $imageInfo[0]/WIDTH;
$ratio2 = $imageInfo[1]/HEIGHT;
$ratio = $ratio1<$ratio2?$ratio1:$ratio2; // выбираем наименьшее соотношение
// if ( $ratio<1 ) $ratio=1; // Оставить иконки меньших размеров WIDTH и HEIGHT не трогать
$width = $imageInfo[0]/$ratio;
$height = $imageInfo[1]/$ratio;
imagecopyresampled( $result, $image, 0, 0, ($imageInfo[0]-WIDTH*$ratio)/2, ($imageInfo[1]-HEIGHT*$ratio)/2, WIDTH, HEIGHT, $ratio*WIDTH, $ratio*HEIGHT);
//— Отправляем (возвращаем) иконку
header(’Content-type: image/jpeg’);
imagejpeg($result);
Алгоритм используется для подготовки эскизов (иконок) изображений.
Причем данная версия для того хороша, когда все фотки каких-попало форматов. И все аккуратненько подгоняются под размер WIDTHхHEIGHT. То, что не влазит, обрезается.
Если обрезание (обрезание исходной картинки имеется ввиду) не нужно, т.е. чтобы эскиз со своими “какими-попало” пропорциями просто вписался в прямоугольник WIDTHхHEIGHT.
Достаточно заменить одну строчку:
…..
imagecopyresampled( $result, $image, 0, 0, ($imageInfo[0]-WIDTH*$ratio)/2, ($imageInfo[1]-HEIGHT*$ratio)/2, WIDTH, HEIGHT, $ratio*WIDTH, $ratio*HEIGHT);
…..
// вот на эту:
imagecopyresampled( $result, $image, (WIDTH-$width)/2, (HEIGHT-$height)/2, 0, 0, $width, $height, $imageInfo[0], $imageInfo[1]);
8th
Проверка существования файла на сервере. php
Необходимо проверить, доступна-ли фотография по заданному пользователю адресу.
Andkorol:
Можно попробовать использовать функцию get_headers()
Примерно так:
$file = ‘http://www.domain.com/somefile.jpg’;
$file_headers = @get_headers($file);
if($file_headers[0] == ‘HTTP/1.1 404 Not Found’) {
$exists = false;
}
else {
$exists = true;
}
7th
Авг
Через какой порт лучше управлять шаговым двигателем?
Через COM, или LPT? А может USB?
В теме обсуждается, какой порт выбрать для управления шаговым двигателем. Присоединится к обсуждению.
7th
Рассылка. Выпуск 70
От ведущего.
Здравствуйте, друзья!! С опозданием выходит семидесятый выпуск рассылки клуба программистов. За прошлую неделю у нас новостей поменьше чем обычно. Связанно это с тем, что сейчас лето, самый разгар курортного периода, и многие великие умы тоже хотят отдохнуть и набраться сил.
4th
Авг
Обозреватель раздела “БД в Delphi”
— название темы;
— автор темы;
— автор вложения в теме;
— прямая ссылка на скачивание вложения;
— прямая ссылка на саму тему.
Возможности:
— поиск вложения по названию темы. Чтобы найти вложение, если известно точное название темы, то просто копируете и вставляете название темы в соотвествующее поле для поиска и выполняете поиск. По синим ссылкам вверху программы, Вы можете прямиком попасть как на само вложение, так и на саму тему.
— возможность поиска по ссылке на тему;
— возможность поиска темы по ссылке на вложение.
Саму программу Вы можете скачать по ссылке ниже.
P.S. Модераторы, я посчитал нужным сделать данную тему со статусом “Важная”, т.к. она имеет самое непосредственное отношение именно к разделу, в котором она выложена. Я буду допросматривать остальные страницы раздела. Пока просмотрел только 30 страниц. По мере увеличения моей БД, я буду выкладывать новые версии сюда.
Жду отзывов и предложений от скачавших . Думаю, что она может пригодится.
————————————————————————
Обновил БД в программе. Теперь количество записей увеличилось до 111
4th
Еще одна CMS от нашего форумчанина
Друзья, я вот от нечего делать начал писать свою CMS. Написана она на php, и еще очень сырая. Готово лишь процентов 50. Но тем не менее, пользоваться этой цмс-кой уже можно, хотя и не совсем удобно. А местами даже и страшно. CMS писал с нуля, сам (естественно, что яваскрипт фрейморки написаны не мной и еще некоторые шаблоны html),пишу этот проект уже с мая месяца. Основной уклон сайта который вы увидете на видео – музыка и общение. Сайт построен на оконной системе. Иными словами, внешним видом главная страница сайта напоминает рабочий стол windows. Все теже окна и
ярлычки которые можно таскать… На этой ЦМС уже мона постить новости,материалы(файлы),регистриро ваться,авторизироваться,писать комментарии, и вообщем еще некоторый минимально-необходимый функционал. Так-же в ЦМС встроен небольшой поисковичок. Да и еще…по скольку это всего лишь тестовая версия, то не обращайте особо внимания на картинки и ярлыки…их все равно заменю)))
Видео
P.S:Рекомендую смотреть видео в полноэкранном режиме и в высоком качестве, дабы все нормально видеть. Хотя вообщем и так все понятно.
Вообщем не судите строго…это первый мой крупный проект с претензиями на CMS. Думаю, что в скором времени доделаю её..
3rd
Авг
ПРОграммируемый робот, управляемый с КПК
raxp:
…книжка замечательного автора Дугласа Вильямса …будет полезна не только фанатам роботостроения, но и программистам в других областях. Вы спросите почему?
Краткие выдержки из содержания:
- работа с микроконтроллерами и ИК передатчиками
- изготовление аппаратной части (электр.начинка робота, . инфракрасный дальномер, движки), печатной платы и т.д. и т.п.
- как задействовать ИК канал связи / + код
- ПО под PalmOS
- ПО под WinCE
- видеосвязь (работа с VFW) / + код
- отправка данных с помощью FTP / + код
- беспроводное управление и линия передачи данных до робота (wi-fi) / + код
- детектор движения / + код
…сопровождается исходным кодом.
ПРОграммируемый робот управляемый с КПК.zip
по теме роботостроения надыбал дюже интересный видеоролик
1st
Авг
Общие принципы работы с сайтом vkontakte.ru
И так начнем. Я выкладываю функции которые мне известны И У КОТОРЫХ 100% РАБОТОСПОСОБНОСТЬ!
АВТОРИЗАЦИЯ ВКОНТАКТЕ:
function vk_login(Login, Pass : string; IdHTTP : TIdHTTP): Boolean;
var
sl : TStringList;
text : string;
begin
sl := TStringList.Create;
sl.Add('email=' + Login + '&pass=' + Pass + '&expire=&vk=');
text := IdHTTP.Post('http://login.vk.com/?act=login',sl);
if Pos('Aoia',text)<>0 then begin
MessageBox(Application.Handle,'Iaaa?iua aaiiua: Eiaei , Ia?ieu','Ioeaea',0);
Result := False;
end else begin
text := Copy(text,Pos('name=' + #39 + 's' + #39,text)+16,PosEx(#39,text,Pos('name=' + #39 + 's' + #39,text)+17)-Pos('name=' + #39 + 's' + #39,text)-16);
IdHTTP.Request.CustomHeaders.Add('Cookie:remixchk=5; remixsid=' + text);
Result := True;
end;
sl.Free;
end;
ВЫЗОВ ФУНКЦИИ:
vk_login(Edit1.Text,Edit2.Text,IdHTTP1);
ПОЛУЧЕНИЕ СООБЩЕНИЙ ВКОНТАКТЕ:
function VK_ParsEmail(s:string; IdHTTP1:TIdHTTP): TStringList;
var
i : Integer;
mess_full, mess_text,
mess_id, mess_new,
mess_aut, mess_aut_id,
mess_date, mess_title : string;
sl : TStringList;
begin
Result := TStringList.Create;
i := 1;
s := Copy(s,PosEx('</tr>',s,Pos('<div id="messages_wrap">',s))+6,PosEx('</table>',s,Pos('<div id="messages_wrap">',s))-PosEx('</tr>',s,Pos('<div id="messages_wrap">',s))-6);
while PosEx('<tr ',s,i)<>0 do
begin
mess_full := Copy(s,PosEx('<tr ',s,i),PosEx('</tr>',s,PosEx('<tr ',s,i))-PosEx('<tr ',s,i));
// Iieo?aiea id niiauaiey
mess_id := Copy(mess_full,Pos('id="',mess_full)+8,PosEx('"',mess_full,Pos('id="',mess_full)+9)-Pos('id="',mess_full)-8);
// iiaia ee yoi niiauaiea
if Pos('class='+#39+'newRow'+#39,mess_full)<>0 then mess_new := '1' else mess_new := '0';
if mess_new = '1' then
begin
// Io eiai niiauaiea
mess_aut := Copy(mess_full,PosEx('">',mess_full,Pos('<div>',mess_full)+19)+2,PosEx('</a>',mess_full,PosEx('">',mess_full,Pos('<div>',mess_full)+19)+3)-PosEx('">',mess_full,Pos('<div>',mess_full)+19)-2);
// EA iieuciaaoaey, eioi?ue i?eneae niiauaiea
mess_aut_id := Copy(mess_full,Pos('href="',mess_full)+7,PosEx('">',mess_full,Pos('href="',mess_full)+8)-Pos('href="',mess_full)-7);
// Aaoa, eiaaa i?eoei niiauaiea
mess_date := Copy(mess_full,Pos('class="date">',mess_full)+13,PosEx('</div',mess_full,Pos('class="date">',mess_full)+14)-Pos('class="date">',mess_full)-13);
//Oaia niiauaiey
mess_title := Copy(mess_full,PosEx('<span>',mess_full,Pos('new messageSubject',mess_full))+6,PosEx('</span>',mess_full,Pos('new messageSubject',mess_full))-PosEx('<span>',mess_full,Pos('new messageSubject',mess_full))-6);
// Oaeno niiauaiey
mess_text := IdHTTP1.Get('http://vkontakte.ru/mail.php?act=show&id='+ mess_id);
mess_text := Copy(mess_text,PosEx(';">',mess_text,Pos('class="messageText"',mess_text))+3,PosEx('</div>',mess_text,Pos('class="messageText"',mess_text))-PosEx(';">',mess_text,Pos('class="messageText"',mess_text))-3);
end;
Result.Add(mess_aut+' '+mess_aut_id+' '+mess_date+' '+mess_text);
i := PosEx('<tr ',s,i)+2;
Sleep(300);
end;
end;
ВЫЗОВ ФУНКЦИИ:
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines := VK_ParsEmail(IdHTTP1.Get('http://vkontakte.ru/mail.php'),IdHTTP1);
end;
Следите за темой на форуме. Форумчанин Dionix настроен серьезно.
29th
Июл
Рассылка. Выпуск 69.
От ведущего.
Добрый день читатели. Сегодня выходит 69 выпуск рассылки. Сегодня в этом выпуске обзор интересных тем на форуме программистов за эту неделю и как всегда немного юмора.
28th
Июл
Как сделать экспорт ветки реестра?
Stilet:
Примерно так:
Код:program Project1;
{$APPTYPE CONSOLE}
uses windows, SysUtils;
var hk:HKEY;
begin
if RegOpenKey(HKEY_CURRENT_USER,’\Identities’,hk)=ERROR_SUCCESS then
RegSaveKey(hk,’c:\temp\hk.reg’,nil);
RegCloseKey(hk);
{ TODO -oUser -cConsole Main : Insert code here }
end.
Облако меток
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 (Компьютерное железо)