Приветствую Вас Гость | RSS

Delphi заготовки

Четверг, 16.05.2024, 23:58
Главная » Архив материалов
Pascal/Delphi

{
пример работы со строками.
1. Напечатать все слова, которые совпадают с ее первым словом.
2. Преобразовать строку таким образом, чтобы в ней остались только слова, содержащие буквы и цифры, остальные слова удалить.

}
uses crt;
const
WordDelimiters : set of char=[' ',',','.'];

type
Tpoint=record
  x,y:integer;
end;

TwordPosition=record
   Word:string;
   PosX:integer;
   WordLength:integer;
end;


Tdocument=record
   WordList:array [0..255] of TwordPosition;
   WordListCount:Integer;
end;
var d:Tdocument;
Procedure CreateDocument(var Value:Tdocument; BodyText:string;Len:integer);
var x:Integer;
    s2:string;
    rs:Tpoint;
    s:string;
begin
   s:=bodytext;
   Value.WordListCount:=0;
   rs.X:=1;
   rs.y:=0;
&nb ... Читать дальше »
Просмотров: 2057 | Добавил: NetSoftWare | Дата: 23.04.2012 | Комментарии (0)

пример функции которая отображает значения цвета в RGB разбивке
позволяет напрямую обращаться к массиву точек Bitmap

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin

if not Assigned(form1.image1.Picture.Bitmap) then Exit;

 with form1.Image1.Picture.Bitmap do

  case PixelFormat of
   pfCustom : caption := Format('x: %d y: %d b: %d',[x, y, pByteArray(ScanLine[y])^[x]]);
   pf24bit: caption := Format('x: %d y: %d R: %d,G: %d, B: %d',
   [x,y, pByteArray(ScanLine[y])^[3*x], pByteArray(ScanLine[y])^[ 3*x+1], pByteArray(ScanLine[y])^[ 3*x+2]]);

end;
end;

также обновил

Программу рисования линий как в вконтакте  эффект Alpha наложения 

http://netsoftware.ucoz.ru/news/zadacha_ehffekt_alfa_nalozhenija/2011-07-16-4
теперь программа работает через ScanLine



Просмотров: 1929 | Добавил: NetSoftWare | Дата: 19.04.2012 | Комментарии (0)


Function OneColorToColor(Color1,color2:Tcolor):integer; var x:integer; mindeX:integer; r1,g1,b1:integer; ri,gi,bi:integer; delta:Integer; begin r1:=GetRValue(color1); g1:=GetGValue(color1); b1:=GetBValue(color1); ri:=GetRValue(color2); gi:=GetGValue(color2); bi:=GetBValue(color2); result:=Round(SQRT(power((Ri-R1),2) +
 power((Gi-G1),2) + power((Bi ... Читать дальше »
Просмотров: 1081 | Добавил: NetSoftWare | Дата: 18.04.2012 | Комментарии (0)

Пример программы для осуществления трансляции русских букв в латинские
Функция получает транслейт их русского текста


напишем две функции

Function GetRusToEng(RusV:string):string; // Функция получает транслейт их русского текста      
 
Function GetEngToRus(EngV:string):string; // Функция получает русский текст из транслейта        



Function GetRusToEng(RusV:string):string;
const

  rusold:array[1..32] of string[3]=('А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ'
,'Ы','Ь','Э','Ю','Я');
  rus:array[1..32] of string[3]= ('A','B','V','G','D','E','ZH','Z','I','Y','K','L','M','N','O','P','R','S','T','U','F','KH', 'C', 'CH','SH','SCH',#39,'Y',#39,'E','YU','YA');
  var l,x:integer;
      eng:string;
begin
   eng:='' ... Читать дальше »
Просмотров: 1937 | Добавил: NetSoftWare | Дата: 18.04.2012 | Комментарии (1)

Пример функции перехода из Dos OEM 866 кодировки в Win 1251 без использования

функции системы  CharToOem

var
DosCode:array[1..255] of char=(
#001,#002,#003,#004,#005,#006,#007,#008,#009,#010,#011,
#012,#013,#014,#015,#016,#017,#018,#019,#020,#021,#022,#023,#024,#025,
#026,#027,#028,#029,#030,#031,#032,#033,#034,#035,#036,
#037,#038,#039,#040,#041,#042,#043,#044,#045,#046,#047,#048,#049,#050,
#051,#052,#053,#054,#055,#056,#057,#058,#059,#060,#061,
#062,#063,#064,#065,#066,#067,#068,#069,#070,#071,#072,#073,#074,#075,
#076,#077,#078,#079,#080,#081,#082,#083,#084,#085,#086,
#087,#088,#089,#090,#091,#092,#093,#094,#095,#096,#097,#098,#099,#100,
#101,#102,#103,#104,#105,#106,#107,#108,#109,#110,#111,
#112,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122,
#123,#124,#125,#126,#127,#095,#095,#039,#095,#034,#058,#197,
#216,#095,#037,#095,#060,#095,#095,#095,#095,#095,#039,#039,
#034,#034,#007,#045,#045,#095,#084,#095,#062,#095,#095 ... Читать дальше »
Просмотров: 3766 | Добавил: NetSoftWare | Дата: 18.04.2012 | Комментарии (0)



// Сортировка методом bubbles (пузырьков)
// Динамический массив типа Extended будет осортирован метадом пузырьков
 procedure MaxArrayElementBubbleMethod(Var ar:array of Extended ); var y,x:integer; TempValue:Extended; //временная переменная MaxElementValue:Extended; // Максимальный элемент массива MaxElementIndex:Integer; // Индекс максимального элемента массива begin for y:=0 to length( ... Читать дальше »
Просмотров: 2861 | Добавил: NetSoftWare | Дата: 17.04.2012 | Комментарии (0)

Пример программы удаления одинаковых слов из строки (Delphi).


1. Процедура выравнивания регистров
стандартная процедура  LowerCase - не работает с русскими буквами

function LowerCaseRus(const S: string): string;
var
  Ch: Char;
  L: Integer;
  Source, Dest: PChar;
begin
  L := Length(S);
  SetLength(Result, L);
  Source := Pointer(S);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
    if (Ch >= 'À') and (Ch <= 'ß') then Inc(Ch, 32); // Добавим строку
    Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;

2. процедура инициализации списка знаков препинания


type
 endWord  = ... Читать дальше »
Просмотров: 4566 | Добавил: NetSoftWare | Дата: 16.04.2012 | Комментарии (1)

Необходимо написать программу для вывода на печать 100 билетов с индивидуальными заданиями
пример заданий
      
пример 1


пример2

файл примеров
http://netsoftware.ucoz.ru/exemp.rar

для корректной работы нам будет нужен модуль построения формул в графическом виде для Delphi
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=718
автор   Антон Григорьев

задача составления функций.  таким образом анализируем файлы получаем что формула состоит из 4 частей
условно разделим их
   F1+F2+F3+F4
   знаки могут быть + - * /

 таким ... Читать дальше »
Просмотров: 1486 | Добавил: NetSoftWare | Дата: 16.04.2012 | Комментарии (0)

пример программы на Delphi для получение пикселя экрана.   также демонстрирует
получение название цвета пикселя экрана на русском языке



создаем  массив для хранения информации об элементах цвета.
каждый элемент будет включать - название на английском языке. русский эквивалент, цвет в формате RGB 
список цветов берем с сайта вики
http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_
%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2

Type

Tcolor_rus = record
   Name:string; // название цвета в Eng
   Rus_name:string; // Название цвета в Rus
   Color:Tcolor; // Цвет
end;


  ColorArray :array of Tcolor_rus; // массив элементов
  ColorArrayCount:integer; // размер массива

  hDC:Thandle; //  для получения пикселя экрана

для корректной работы функции поиска максимально похожего цвета используем
модуль uses math;


1. ... Читать дальше »
Просмотров: 2961 | Добавил: NetSoftWare | Дата: 13.04.2012 | Комментарии (0)


на офицальном сайте Центрального Банка России  есть материал регламентирующий работу с данными о курсах валют

Получение данных, используя XML

     http://www.cbr.ru/scripts/Root.asp?Prtid=SXML

Пример1
Например, для получения котировок на заданный день
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002
    date_req= Date of query (dd/mm/yyyy)
* если параметр(date_req) отсутствует, то Вы получите документ на последнюю зарегистрированную дату.

-- Справочник по кодам валют: http://www.cbr.ru/scripts/XML_val.asp?d=0
    d=0 Коды валют устанавливаемые ежедневно.
    d=1 Коды валют устанавливаемые ежемесячно.

http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002&d=1 - котировки валют устанавливаемые ежемесячно (устарело).
Aнгл. версия:
http://www.cbr.ru/scripts/XML_daily_eng.asp?date_req=22/01/2007
http://www.cbr.ru/scrip ... Читать дальше »
Просмотров: 7717 | Добавил: NetSoftWare | Дата: 13.04.2012 | Комментарии (3)

« 1 2 ... 6 7 8 9 10 11 »