Последние записи
- Как в 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
7th
Май
Авторизация “В контакте”
procedure TForm1.Button1Click(Sender: TObject);
var data:tstringlist;
PageProfile, pic:string;
error:boolean;
beginpos, endpos : Integer;
ms: TMemoryStream;
jpeg: TJpegImage;
begin
IdHTTP1.AllowCookies:=true;
IdHTTP1.HandleRedirects:=false;
data:=tstringlist.create;
data.Add('email=ЛОГИН'); // логин для авторизации
data.Add('pass=ПАРОЛЬ'); // пароль для авторизации
data.Add('expire=');
data.Add('vk=');
error:=false;
try
PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
except
error:=true;
end;
if not(error) then
begin
data.Clear;
data.Add('s='+Copy(PageProfile, Pos('value', PageProfile)+7, 56));
data.Add('op=slogin');
data.Add('redirect=1');
data.Add('expire=0');
data.Add('to=');
IdHTTP1.HandleRedirects:=true;
try
PageProfile:=IdHTTP1.Post('http://vkontakte.ru/login.php', data);
except
end;
beginpos := Pos('center', PageProfile);
endpos := PosEx('/>', PageProfile, beginpos + 21);
pic := Copy(PageProfile, beginpos + 21, endpos - (beginpos + 21));
Memo1.Lines.Add(pic);
ms := TMemoryStream.Create;
jpeg := TJpegImage.Create;
try
IdHTTP1.Get(pic, ms);
ms.Position := 0;
jpeg.LoadFromStream(ms);
Image1.Picture.Graphic := jpeg;
finally
jpeg.Free; ms.Free;
end;
end
else
Memo1.Lines.Add('Авторизация не удалась');
Data.Free;
end;
7th
Как скачать файл?
Alex2009:
uses
URLMon, ShellApi;function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
const
SourceFile = ‘http://rap-zt.at.ua/style/photo/cover2/mafon.jpg’;
DestFile = ‘c:\temp\mafon.jpg’;
begin
if DownloadFile(SourceFile, DestFile) then
begin
ShowMessage(’Файл скачанl!’);
ShellExecute(Application.Handle, PChar(’open’), PChar(DestFile),
PChar(”), nil, SW_NORMAL)
end
else
ShowMessage(’Ошибка закачки ‘ + SourceFile)
end;
7th
Подключения запароленной базы данных Access
Баламут:
Для подключения запароленной базы используется строка подключения примерно следующего вида:
AdoConnection1.ConnectionString:= ‘Provider=Microsoft.Jet.OLEDB.4.0;’+
’Data Source=имя_базы.mdb;Persist Security Info=False;’+
’Jet OLEDB:Database Password=ПАРОЛЬ‘;
3rd
Май
Пример авторизации на WordPress
Пример авторизации на WordPress и получения результата авторизации (поиск “action=logout” на странице, вместо “action=logout” может быть любое слово/ссылка для проверки):
var
post:TStringList;
result:string;
begin
post:=TStringList.Create;
try
// Параметры
post.Add(’log=admin’);
post.Add(’pwd=123456′);
post.Add(’rememberme=forever’);
post.Add(’wp-submit=Войти’);
post.Add(’redirect_to=http://site.net/wp-admin/’);
post.Add(’testcookie=1′);
// Отправляем данные
result:=IdHTTP1.Post(’http://site.net/wp-login.php’, post);
// Результат (поиск “action=logout” на странице после авторизации)
if Pos(’action=logout’, result)>0 then
MessageDlg(’Авторизация прошла успешно!(искомый текст на странице найден)’, mtInformation, [mbOK],0)
else
MessageDlg(’Авторизация Провалилась!(искомый текст не найден)’, mtInformation, [mbOK],0);
except
post.Free;
end;
1st
Май
Сортировка чисел методом Черпака?
Наглядный пример сортировки чисел методом Черпака?
using System;
using System.Collections.Generic;
using System.Text;
namespace BucketSort
{
class BucketSort
{
private void Sort(int[] integers)
{
//Verify input
if (integers == null || integers.Length == 0)
return;
//Find the maximum and minimum values in the array
int maxValue = integers[0]; //start with first element
int minValue = integers[0];
//Note: start from index 1
for (int i = 1; i < integers.Length; i++)
{
if (integers > maxValue)
maxValue = integers;
if (integers < minValue)
minValue = integers;
}
//Create a temporary “bucket” to store the values in order
//each value will be stored in its corresponding index
//scooting everything over to the left as much as possible (minValue)
//e.g. 34 => index at 34 – minValue
List<int>[] bucket = new List<int>[maxValue — minValue + 1];
//Initialize the bucket
for (int i = 0; i < bucket.Length; i++)
{
bucket = new List<int>();
}
//Move items to bucket
for (int i = 0; i < integers.Length; i++)
{
bucket[integers – minValue].Add(integers);
}
//Move items in the bucket back to the original array in order
int k = 0; //index for original array
for (int i = 0; i < bucket.Length; i++)
{
if (bucket.Count > 0)
{
for (int j = 0; j < bucket.Count; j++)
{
integers[k] = bucket[j];
k++;
}
}
}
}
}
}
1st
Работа с Xml в Delphi
Скандербег:
Инструкция для Delphi 7.
Скачиваем простой XML парсер ECXML_Parser.zip
Создаем каталог “ECXMLParser”, там где находится Delphi (или любой другой, по вкусу).
Распаковываем в этот каталог скачанный архив.Запускаем Delphi.
Закрываем загруженный проект File->Close All.
Вызываем команду Open (File->Open…).
Из нашего каталога выуживаем файл ECXMLParserD70.dpk
Нажимаем на кнопку Compile. После компиляции нажимаем кнопку Install.В палитре компонентов должна появиться закладка с надписью “EC Test”, где находятся два компонента.
Закрываем проект ECXMLParserD70. На запрос “записать/не записать” отвечаем: “ни за что”.Создаем новый проект. На его форму кидаем TButton, TMemo и из новой закладки компонент TECXMLParser.
У компонента TECXMLParser свойство Name меняем на XML (для того чтобы была совместимость с приведенным ниже кодом), хотя такое и не обязательно, тогда в процедуре надо будет поменять XML на свое имя. К событию OnClick кнопки привязываем процедуру, где пишем такой текст:procedure TForm1.Button2Click(Sender: TObject);
procedure DrawXMLItem(XMLItem: TXMLItem);
var
I : Integer;
begin
Memo1.Lines.Add(XMLItem.Name+’ : ‘+XMLItem.Text);
for i := 0 to XMLItem.SubItemCount-1 do
DrawXMLItem(XMLItem.SubItems);
end;begin
XML.LoadFromFile(’E:\file.xml’); //любой xml файл, для тестирования можно и здесь указать
Memo1.Lines.BeginUpdate;
DrawXMLItem(XML.Root);
Memo1.Lines.EndUpdate;
end;В результате работы этой процедуры в Memo должны появиться строки вида: : .
Текст представляемый свойством XMLItem.Text – и есть требуемые значения.Это и будет первое упражнение по работе с файлами XML формата. Для первых экспериментов не советую брать штатый дельфийский XML разборщик – сложновато будет и глюкавый он, на самом деле.
27th
Апр
Как найти все подпапки скрытой папки.
Код:
procedure TForm1.ffind(cat: string);
var
searchResult : TSearchRec;
begin
ListBox1.Clear;
// Пробуем найти каталоги выше текущего каталога
SetCurrentDir('..');
if FindFirst(cat+'*', faDirectory, searchResult) = 0 then
begin
repeat
// Показываем только каталоги
//if (searchResult.attr and faDirectory) = faDirectory
//then
Listbox1.Items.Add(searchResult.Name);
until FindNext(searchResult) 0;
// Должен освободить ресурсы, используемые этими успешными, поисками
FindClose(searchResult);
end;
end;
26th
Апр
Как соединить 3 картинки в одну картинку?
DeKot:
Допустим имеете три капчи в виде 1.jpg ; 2.jpg ; 3.jpg размером 30 х 10 пикселей. Далее пишем
Код:
var BufPic: TImageJpeg; // буфер для загрузки рисунков
begin
BufPic:= TImageJpeg.Create; // создаем объект
BufPic.LoadFile(’\1.jpg’); // загружаем в него 1-й рисунок
Form1.Image1.Picture.Canvas.Draw(0,0,BufPic); // переносим 1-й рисунок в Image
BufPic.LoadFile(’\2.jpg’); // загружаем в него 2-й рисунок
Form1.Image1.Picture.Canvas.Draw(30,0,BufPic); // переносим 2-й рисунок в Image
BufPic.LoadFile(’\3.jpg’); // загружаем в него 3-й рисунок
Form1.Image1.Picture.Canvas.Draw(60,0,BufPic); // переносим 3-й рисунок в Image
end;Получим три состыкованных по оси Х рисунка.Аналогично можно их состыковать по оси Y. (При таких именах рисунка грех не использовать цикл)
Код:
var BufPic: TImageJpeg; // буфер для загрузки рисунков
i: byte;
begin
BufPic:= TImageJpeg.Create; // создаем объект
for i:= 0 to 2 do
begin
BufPic.LoadFile(IntToStr(i + 1) + ‘.jpg’);
Form1.Image1.Picture.Canvas.Draw(0,0 + (i * 10),BufPic);
end;
end;
24th
Апр
Как убрать в браузере Firefox рамку вокруг ссылок?
MrJenika:
В браузере Firefox при активации ссылок, вокруг них добавляется пунктирная граница. Она предназначена для привлечения внимания и демонстрации текущего фокуса. Тем не менее, некоторые разработчики хотели бы убрать эту линию, чтобы сделать сайт однообразным в различных браузерах. Для этого следует к селектору A добавить стилевой параметр outline со значением none.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1251″>
<title>Граница в Firefox</title>
<style type=”text/css”>
A {
outline: none; /* Убираем границу вокруг ссылок */
}
</style>
</head>
<body>
<p><a href=”http://google.ru”>Google</a></p>
</body>
</html>Источник htmlbook.ru
22nd
Апр
Как увеличить скорость заполнения данных в mdb из excel?
Grag:
Я такие операции делаю через вариантные матрицы, выделяю область данных таблицы Excel, затем копирую эту область в матрицу (выполняется очень быстро), а потом уже из матрицы выгружаю данные в таблицу БД…
Облако меток
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 (Компьютерное железо)