Вы здесь: Home Turbo Pascal

Теги

Календарь

< Февраль 2012 >
П В С Ч П С В
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        
Ulti Clocks content

Turbo Pascal

Motorola представила конкурента ipad мобильные телефоны гаджеты

21.02.2012 10:18

Компания Motorola Mobility представила на выставке в Лас-Вегасе новый планшетный компьютер, получивший название Xoom.

Устройство основано на двухъядерном процессоре и оснащено экраном с диагональю 10,1 дюйма. Xoom будет использовать операционную систему Android 3.0 Honeycomb, разработанную Google Inc.

Подробнее...
 

Создание дистрибутивов клиентских приложений бд с помощью программы

20.02.2012 08:20
Предыдущая статья >> [Разработка скриптов для создания и заполнения баз данных]

Понятие дистрибутива

Дистрибутивом приложения называют специальный файл, при запуске которого происходит установка данного приложения на компьютер пользователя.
Подробнее...
 

Web 2 0 – повод для беспокойства для среднего и малого бизнеса уязвимости безопасность

18.02.2012 04:41

Бум технологий Web 2.0 и все более широкое использование социальных сетей ставят под угрозу все без исключения компании.

Больше всего беспокойство предприятий малого и среднего бизнеса вызывают вопросы достоверности, конфиденциальности и безопасности в социальных сетях.

В настоящее время большинство компаний постепенно меняет способы общения с клиентами и целевой аудиторией.

Подробнее...
 

Чтение файлов ms word 972003 и отображение их в memo или richedit delphi

15.02.2012 08:04
unit WordToText;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Memo1: TMemo;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

Const
rus_big='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
rus_small='абвгдежзийклмнопрстуфхцчшщъыьэюя';

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
Var fDoc:File; f:TextFile;
BChar: array[1..100000] of Char;
NumRead,i,j,k,n,fSize,Ch12Size,StartDoc,EndDoc:LongInt;
ss:AnsiString;
fName:String;
Ch,Ch1,Ch2:Array of Char;

//Определим начало тела файла
function detect_start:Integer;
Var i:Integer;
Begin
i:=-1;
While i Begin
INC(i);
if (Ord(Ch1[i])=$20)and(Ord(Ch2[i])=$00) Then
Begin
if (Ord(Ch2[i+1])$00)and(Ord(Ch2[i+1])$04) Then continue;
if (Ord(Ch2[i-1])$00)and(Ord(Ch2[i-1])$04) Then continue;
if (Ord(Ch2[i-1])= $00)and(Ord(Ch1[i-1])= $00) Then continue;
While(Ord(Ch1[i])+Ord(Ch2[i])$0)and((Ord(Ch2[i])=$0)or(Ord(Ch2[i])=$4)) Do DEC(i);

If (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) Then
Begin
Result:=Ch12Size;
Break;
End;

INC(i);
Result:=i;
Break
End;
End;
End;

//Определим конец тела файла
function detect_end:Integer;
Var sz,nullcount,ffcount:Integer;
Begin
sz:=Ch12Size; i:=StartDoc;//i должно равняться StartDoc
While i Begin
INC(i);
nullcount:=0;
ffcount:=0;
while (Ord(Ch1[i])=$00)and(Ord(Ch2[i])=$00) do
Begin
INC(nullcount); INC(i); if(i>=sz) Then break;
End;
while (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) do
Begin
INC(ffcount); INC(i); if(i>=sz) Then break;
End;
if nullcount>300 Then Begin Result:=(i-nullcount); EXIT End;
if ffcount>10 Then Begin Result:=(i-ffcount); EXIT End;
End;
End;

//Начало
BEGIN
with TOpenDialog.Create(nil) do
try
Filter := 'word documents (*.doc)|*.doc';
if not Execute then Exit;
fName := FileName;
finally
Free;
end;

AssignFile(fDoc, fName);
Reset(fDoc, 1);
fSize:=FileSize(fDoc);
SetLength(Ch,fSize);
SetLength(Ch1,fSize div 2);
SetLength(Ch2,fSize div 2);

i:=0;k:=0;n:=0;

//Читаем файл в массив по 100 KBt
While i Begin
BlockRead(fDoc, BChar, SizeOf(BChar), NumRead);
i:=i+NumRead;
For j:=1 To NumRead Do
Begin
Ch[k]:=BChar[j];
//делим массив на первый и второй байты в символьном виде
//если "к" четное то
if (k mod 2)=0 Then Ch1[n]:=Ch[k]//массив первых байтов
Else //если "к" нечетное то
Begin
Ch2[n]:=Ch[k];//массив вторых байтов
INC(n);
End;
INC(k);
End;
End;
CloseFile(fDoc);

Ch12Size:=High(Ch1);

StartDoc:= detect_start;//ориентировочно начало текста документа
EndDoc := detect_end; //ориентировочно конец текста документа
ss:=''; //сюда будем записывать текст

fORM1.Caption:='Старт='+IntToStr(StartDoc*2)+' Финиш='+IntToStr(EndDoc*2);

//Главный цикл по тексту документа
For i:=StartDoc to EndDoc Do
Begin

if Ord(Ch2[i])=$00 Then
Begin
//первая половина таблицы - латиница, цифры и знаки
If Ord(Ch1[i])=$0D Then ss:=ss+#13;
If (Ord(Ch1[i])>=$20)and(Ord(Ch1[i]) End;

if Ord(Ch2[i])=$04 then
Begin
//русские буквы
If (Ord(Ch1[i])>=$10)and(Ord(Ch1[i]) if (Ord(Ch1[i])>=$30)and(Ord(Ch1[i]) if (Ord(Ch1[i])=$01) Then ss:=ss+'Ё';
if (Ord(Ch1[i])=$51) Then ss:=ss+'ё';
//украинские буквы
if (Ord(Ch1[i])=$54) Then ss:=ss+'є';
if (Ord(Ch1[i])=$04) Then ss:=ss+'Є';
if (Ord(Ch1[i])=$56) Then ss:=ss+'і';
if (Ord(Ch1[i])=$06) Then ss:=ss+'І';
if (Ord(Ch1[i])=$57) Then ss:=ss+'ї';
if (Ord(Ch1[i])=$07) Then ss:=ss+'Ї';
End;
//Символы
if Ord(Ch2[i])=$20 then
Begin
if (Ord(Ch1[i])>=$14) Then ss:=ss+' - ';//тире;
if (Ord(Ch1[i])>=$1C) Then ss:=ss+'"'; //открыв.
Подробнее...
 

Доступна для скачивания финальная версия avast! free antivirus

11.02.2012 17:58

Разработчики чешской компании AVAST Software сообщили о выпуске финальной версии программного решения avast! Free Antivirus 6.0, предназначенного для комплексной защиты персональных компьютеров под управлением Windows XP/Vista/7 от вредоносных файлов и сетевых угроз.

Ключевой особенностью новинки является поддержка технологии AutoSandbox, обеспечивающей выполнение сомнительных приложений в изолированном виртуальном пространстве.

Подробнее...
 

Colorindex = 6;

09.02.2012 14:34
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Сохранение данных из ListView в *.xls

Сохранение данных из ListView в *.xls

Зависимости: ComObj
Автор: dDan, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Copyright: dDan
Дата: 3 декабря 2003 г.
***************************************************** }

procedure ListToExcel(ListView: TListView);
var
row, i: integer;
Range, Sheet: VAriant;
begin
try
Excel := CreateOleObject('Excel.Application');
except
raise Exception.Create('Невозможно поключиться к серверу Excel');
end;
Screen.Cursor := crHourGlass;
Excel.SheetsInNewWorkBook := 1;
Excel.WorkBooks.Add;
Sheet := Excel.Workbooks[1].Sheets[1];
Range := Sheet.Columns;
Range.Columns[1].ColumnWidth := 30;
Range.Columns[n].ColumnWidth := 30;
Range.Columns[n + 1].ColumnWidth := 30;
Range.Columns.Font.Size := 8;
Range := Sheet.Range['a1:f1'];
Range.Font.Size := 15;
Range.Font.Bold := True;
Range.Columns.Interior.ColorIndex := 6;
Range.HorizontalAlignment := 3;
Sheet.Cells[1, 2] := 'Данные на' + DateToStr(Date); //Заголовок
Range := Sheet.Range['a2:f2'];
Range.Font.Size := 10;
Range.Font.Bold := True;
Sheet.Cells[2, 1] := 'АА'; //Названия столбцов
Sheet.Cells[2, n] := 'ББ';
Sheet.Cells[2, n + 1] := 'вв';
Row := 3;
for i := 0 to List.Items.Count - 1 do
begin
Sheet.Cells[Row, 1] := ListView.Items.Item[i].Caption;
Sheet.Cells[Row, 2] := ListView.Items.Item[i].SubItems[n];
Sheet.Cells[Row, 3] := ListView.Items.Item[i].SubItems[n + 1];
inc(Row);
end;
Screen.Cursor := crDefault;
if SaveDialog.Execute then
Excel.WorkBooks[1].SaveAs(exs.FileName); //Сохраняем
Excel.Visible := True; //Показываем Excel
end;



 

Mod = loadlibrary(filename);

06.02.2012 17:40
1. Регистрация ActiveX:


function RegActiveX(FileName: string): HRESULT;
var
hMod: Integer;
RegProc: function: HRESULT; //HRESULT = Longint
begin
hMod := LoadLibrary(FileName);
if hMod = 0 then
raise Exception.Create('Unable to load library"' + FileName +
'".
Подробнее...
 

Программирование алгоритмов разветвляющейся структуры 2 ргрту turbo pascal

03.02.2012 21:03
Лабораторная работа №4
Программирование алгоритмов разветвляющейся структуры”
Вариант – 3
(из книги: “Алгоритмизация и программирование на
Турбо Паскале” В.C. Новичков)
{***********************************************************}
{Имя программмы в банке программ: LAB5V3.PAS }
{Программа:ZnachFunct, Лаб.
Подробнее...
 

Microsoft предлагает выдавать компьютерам сертификаты безопасности

02.02.2012 10:36

В прошлом году вице-президент подразделения Microsoft Trustworthy Computing Скотт Чарни выступил с предложением привнести в ИТ-отрасль способы борьбы с вирусами, аналогичные тем, что существуют в обычной жизни.

Суть идеи г-на Чарни сводилась к следующему.

Подробнее...
 

Из центра галактики ктото послал странные сигналы в мире разное

31.01.2012 06:56

Скотт Химен (Scott Hyman) и его коллеги из американского колледжа Sweet Briar только что обработали обширные записи, собранные в течение нескольких лет радиотелескопом Very Large Array в Нью-Мексико и обнаружили в центре нашей Галактики источник странного излучения.

Подробнее...
 

Страница 1 из 12

Turbo Pascal

Motorola представила конкурента ipad мобильные телефоны гаджеты

21.02.2012 10:18

Компания Motorola Mobility представила на выставке в Лас-Вегасе новый планшетный компьютер, получивший название Xoom.

Устройство основано на двухъядерном процессоре и оснащено экраном с диагональю 10,1 дюйма. Xoom будет использовать операционную систему Android 3.0 Honeycomb, разработанную Google Inc.

Подробнее...
 

Создание дистрибутивов клиентских приложений бд с помощью программы

20.02.2012 08:20
Предыдущая статья >> [Разработка скриптов для создания и заполнения баз данных]

Понятие дистрибутива

Дистрибутивом приложения называют специальный файл, при запуске которого происходит установка данного приложения на компьютер пользователя.
Подробнее...
 

Web 2 0 – повод для беспокойства для среднего и малого бизнеса уязвимости безопасность

18.02.2012 04:41

Бум технологий Web 2.0 и все более широкое использование социальных сетей ставят под угрозу все без исключения компании.

Больше всего беспокойство предприятий малого и среднего бизнеса вызывают вопросы достоверности, конфиденциальности и безопасности в социальных сетях.

В настоящее время большинство компаний постепенно меняет способы общения с клиентами и целевой аудиторией.

Подробнее...
 

Чтение файлов ms word 972003 и отображение их в memo или richedit delphi

15.02.2012 08:04
unit WordToText;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Memo1: TMemo;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

Const
rus_big='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
rus_small='абвгдежзийклмнопрстуфхцчшщъыьэюя';

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
Var fDoc:File; f:TextFile;
BChar: array[1..100000] of Char;
NumRead,i,j,k,n,fSize,Ch12Size,StartDoc,EndDoc:LongInt;
ss:AnsiString;
fName:String;
Ch,Ch1,Ch2:Array of Char;

//Определим начало тела файла
function detect_start:Integer;
Var i:Integer;
Begin
i:=-1;
While i Begin
INC(i);
if (Ord(Ch1[i])=$20)and(Ord(Ch2[i])=$00) Then
Begin
if (Ord(Ch2[i+1])$00)and(Ord(Ch2[i+1])$04) Then continue;
if (Ord(Ch2[i-1])$00)and(Ord(Ch2[i-1])$04) Then continue;
if (Ord(Ch2[i-1])= $00)and(Ord(Ch1[i-1])= $00) Then continue;
While(Ord(Ch1[i])+Ord(Ch2[i])$0)and((Ord(Ch2[i])=$0)or(Ord(Ch2[i])=$4)) Do DEC(i);

If (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) Then
Begin
Result:=Ch12Size;
Break;
End;

INC(i);
Result:=i;
Break
End;
End;
End;

//Определим конец тела файла
function detect_end:Integer;
Var sz,nullcount,ffcount:Integer;
Begin
sz:=Ch12Size; i:=StartDoc;//i должно равняться StartDoc
While i Begin
INC(i);
nullcount:=0;
ffcount:=0;
while (Ord(Ch1[i])=$00)and(Ord(Ch2[i])=$00) do
Begin
INC(nullcount); INC(i); if(i>=sz) Then break;
End;
while (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) do
Begin
INC(ffcount); INC(i); if(i>=sz) Then break;
End;
if nullcount>300 Then Begin Result:=(i-nullcount); EXIT End;
if ffcount>10 Then Begin Result:=(i-ffcount); EXIT End;
End;
End;

//Начало
BEGIN
with TOpenDialog.Create(nil) do
try
Filter := 'word documents (*.doc)|*.doc';
if not Execute then Exit;
fName := FileName;
finally
Free;
end;

AssignFile(fDoc, fName);
Reset(fDoc, 1);
fSize:=FileSize(fDoc);
SetLength(Ch,fSize);
SetLength(Ch1,fSize div 2);
SetLength(Ch2,fSize div 2);

i:=0;k:=0;n:=0;

//Читаем файл в массив по 100 KBt
While i Begin
BlockRead(fDoc, BChar, SizeOf(BChar), NumRead);
i:=i+NumRead;
For j:=1 To NumRead Do
Begin
Ch[k]:=BChar[j];
//делим массив на первый и второй байты в символьном виде
//если "к" четное то
if (k mod 2)=0 Then Ch1[n]:=Ch[k]//массив первых байтов
Else //если "к" нечетное то
Begin
Ch2[n]:=Ch[k];//массив вторых байтов
INC(n);
End;
INC(k);
End;
End;
CloseFile(fDoc);

Ch12Size:=High(Ch1);

StartDoc:= detect_start;//ориентировочно начало текста документа
EndDoc := detect_end; //ориентировочно конец текста документа
ss:=''; //сюда будем записывать текст

fORM1.Caption:='Старт='+IntToStr(StartDoc*2)+' Финиш='+IntToStr(EndDoc*2);

//Главный цикл по тексту документа
For i:=StartDoc to EndDoc Do
Begin

if Ord(Ch2[i])=$00 Then
Begin
//первая половина таблицы - латиница, цифры и знаки
If Ord(Ch1[i])=$0D Then ss:=ss+#13;
If (Ord(Ch1[i])>=$20)and(Ord(Ch1[i]) End;

if Ord(Ch2[i])=$04 then
Begin
//русские буквы
If (Ord(Ch1[i])>=$10)and(Ord(Ch1[i]) if (Ord(Ch1[i])>=$30)and(Ord(Ch1[i]) if (Ord(Ch1[i])=$01) Then ss:=ss+'Ё';
if (Ord(Ch1[i])=$51) Then ss:=ss+'ё';
//украинские буквы
if (Ord(Ch1[i])=$54) Then ss:=ss+'є';
if (Ord(Ch1[i])=$04) Then ss:=ss+'Є';
if (Ord(Ch1[i])=$56) Then ss:=ss+'і';
if (Ord(Ch1[i])=$06) Then ss:=ss+'І';
if (Ord(Ch1[i])=$57) Then ss:=ss+'ї';
if (Ord(Ch1[i])=$07) Then ss:=ss+'Ї';
End;
//Символы
if Ord(Ch2[i])=$20 then
Begin
if (Ord(Ch1[i])>=$14) Then ss:=ss+' - ';//тире;
if (Ord(Ch1[i])>=$1C) Then ss:=ss+'"'; //открыв.
Подробнее...
 

Доступна для скачивания финальная версия avast! free antivirus

11.02.2012 17:58

Разработчики чешской компании AVAST Software сообщили о выпуске финальной версии программного решения avast! Free Antivirus 6.0, предназначенного для комплексной защиты персональных компьютеров под управлением Windows XP/Vista/7 от вредоносных файлов и сетевых угроз.

Ключевой особенностью новинки является поддержка технологии AutoSandbox, обеспечивающей выполнение сомнительных приложений в изолированном виртуальном пространстве.

Подробнее...
 

Colorindex = 6;

09.02.2012 14:34
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Сохранение данных из ListView в *.xls

Сохранение данных из ListView в *.xls

Зависимости: ComObj
Автор: dDan, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Copyright: dDan
Дата: 3 декабря 2003 г.
***************************************************** }

procedure ListToExcel(ListView: TListView);
var
row, i: integer;
Range, Sheet: VAriant;
begin
try
Excel := CreateOleObject('Excel.Application');
except
raise Exception.Create('Невозможно поключиться к серверу Excel');
end;
Screen.Cursor := crHourGlass;
Excel.SheetsInNewWorkBook := 1;
Excel.WorkBooks.Add;
Sheet := Excel.Workbooks[1].Sheets[1];
Range := Sheet.Columns;
Range.Columns[1].ColumnWidth := 30;
Range.Columns[n].ColumnWidth := 30;
Range.Columns[n + 1].ColumnWidth := 30;
Range.Columns.Font.Size := 8;
Range := Sheet.Range['a1:f1'];
Range.Font.Size := 15;
Range.Font.Bold := True;
Range.Columns.Interior.ColorIndex := 6;
Range.HorizontalAlignment := 3;
Sheet.Cells[1, 2] := 'Данные на' + DateToStr(Date); //Заголовок
Range := Sheet.Range['a2:f2'];
Range.Font.Size := 10;
Range.Font.Bold := True;
Sheet.Cells[2, 1] := 'АА'; //Названия столбцов
Sheet.Cells[2, n] := 'ББ';
Sheet.Cells[2, n + 1] := 'вв';
Row := 3;
for i := 0 to List.Items.Count - 1 do
begin
Sheet.Cells[Row, 1] := ListView.Items.Item[i].Caption;
Sheet.Cells[Row, 2] := ListView.Items.Item[i].SubItems[n];
Sheet.Cells[Row, 3] := ListView.Items.Item[i].SubItems[n + 1];
inc(Row);
end;
Screen.Cursor := crDefault;
if SaveDialog.Execute then
Excel.WorkBooks[1].SaveAs(exs.FileName); //Сохраняем
Excel.Visible := True; //Показываем Excel
end;



 

Mod = loadlibrary(filename);

06.02.2012 17:40
1. Регистрация ActiveX:


function RegActiveX(FileName: string): HRESULT;
var
hMod: Integer;
RegProc: function: HRESULT; //HRESULT = Longint
begin
hMod := LoadLibrary(FileName);
if hMod = 0 then
raise Exception.Create('Unable to load library"' + FileName +
'".
Подробнее...
 

Программирование алгоритмов разветвляющейся структуры 2 ргрту turbo pascal

03.02.2012 21:03
Лабораторная работа №4
Программирование алгоритмов разветвляющейся структуры”
Вариант – 3
(из книги: “Алгоритмизация и программирование на
Турбо Паскале” В.C. Новичков)
{***********************************************************}
{Имя программмы в банке программ: LAB5V3.PAS }
{Программа:ZnachFunct, Лаб.
Подробнее...
 

Microsoft предлагает выдавать компьютерам сертификаты безопасности

02.02.2012 10:36

В прошлом году вице-президент подразделения Microsoft Trustworthy Computing Скотт Чарни выступил с предложением привнести в ИТ-отрасль способы борьбы с вирусами, аналогичные тем, что существуют в обычной жизни.

Суть идеи г-на Чарни сводилась к следующему.

Подробнее...
 

Из центра галактики ктото послал странные сигналы в мире разное

31.01.2012 06:56

Скотт Химен (Scott Hyman) и его коллеги из американского колледжа Sweet Briar только что обработали обширные записи, собранные в течение нескольких лет радиотелескопом Very Large Array в Нью-Мексико и обнаружили в центре нашей Галактики источник странного излучения.

Подробнее...
 

Страница 1 из 12

Turbo Pascal

Motorola представила конкурента ipad мобильные телефоны гаджеты

21.02.2012 10:18

Компания Motorola Mobility представила на выставке в Лас-Вегасе новый планшетный компьютер, получивший название Xoom.

Устройство основано на двухъядерном процессоре и оснащено экраном с диагональю 10,1 дюйма. Xoom будет использовать операционную систему Android 3.0 Honeycomb, разработанную Google Inc.

Подробнее...
 

Создание дистрибутивов клиентских приложений бд с помощью программы

20.02.2012 08:20
Предыдущая статья >> [Разработка скриптов для создания и заполнения баз данных]

Понятие дистрибутива

Дистрибутивом приложения называют специальный файл, при запуске которого происходит установка данного приложения на компьютер пользователя.
Подробнее...
 

Web 2 0 – повод для беспокойства для среднего и малого бизнеса уязвимости безопасность

18.02.2012 04:41

Бум технологий Web 2.0 и все более широкое использование социальных сетей ставят под угрозу все без исключения компании.

Больше всего беспокойство предприятий малого и среднего бизнеса вызывают вопросы достоверности, конфиденциальности и безопасности в социальных сетях.

В настоящее время большинство компаний постепенно меняет способы общения с клиентами и целевой аудиторией.

Подробнее...
 

Чтение файлов ms word 972003 и отображение их в memo или richedit delphi

15.02.2012 08:04
unit WordToText;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
Memo1: TMemo;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

Const
rus_big='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
rus_small='абвгдежзийклмнопрстуфхцчшщъыьэюя';

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
Var fDoc:File; f:TextFile;
BChar: array[1..100000] of Char;
NumRead,i,j,k,n,fSize,Ch12Size,StartDoc,EndDoc:LongInt;
ss:AnsiString;
fName:String;
Ch,Ch1,Ch2:Array of Char;

//Определим начало тела файла
function detect_start:Integer;
Var i:Integer;
Begin
i:=-1;
While i Begin
INC(i);
if (Ord(Ch1[i])=$20)and(Ord(Ch2[i])=$00) Then
Begin
if (Ord(Ch2[i+1])$00)and(Ord(Ch2[i+1])$04) Then continue;
if (Ord(Ch2[i-1])$00)and(Ord(Ch2[i-1])$04) Then continue;
if (Ord(Ch2[i-1])= $00)and(Ord(Ch1[i-1])= $00) Then continue;
While(Ord(Ch1[i])+Ord(Ch2[i])$0)and((Ord(Ch2[i])=$0)or(Ord(Ch2[i])=$4)) Do DEC(i);

If (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) Then
Begin
Result:=Ch12Size;
Break;
End;

INC(i);
Result:=i;
Break
End;
End;
End;

//Определим конец тела файла
function detect_end:Integer;
Var sz,nullcount,ffcount:Integer;
Begin
sz:=Ch12Size; i:=StartDoc;//i должно равняться StartDoc
While i Begin
INC(i);
nullcount:=0;
ffcount:=0;
while (Ord(Ch1[i])=$00)and(Ord(Ch2[i])=$00) do
Begin
INC(nullcount); INC(i); if(i>=sz) Then break;
End;
while (Ord(Ch1[i])=$FF)and(Ord(Ch2[i])=$FF) do
Begin
INC(ffcount); INC(i); if(i>=sz) Then break;
End;
if nullcount>300 Then Begin Result:=(i-nullcount); EXIT End;
if ffcount>10 Then Begin Result:=(i-ffcount); EXIT End;
End;
End;

//Начало
BEGIN
with TOpenDialog.Create(nil) do
try
Filter := 'word documents (*.doc)|*.doc';
if not Execute then Exit;
fName := FileName;
finally
Free;
end;

AssignFile(fDoc, fName);
Reset(fDoc, 1);
fSize:=FileSize(fDoc);
SetLength(Ch,fSize);
SetLength(Ch1,fSize div 2);
SetLength(Ch2,fSize div 2);

i:=0;k:=0;n:=0;

//Читаем файл в массив по 100 KBt
While i Begin
BlockRead(fDoc, BChar, SizeOf(BChar), NumRead);
i:=i+NumRead;
For j:=1 To NumRead Do
Begin
Ch[k]:=BChar[j];
//делим массив на первый и второй байты в символьном виде
//если "к" четное то
if (k mod 2)=0 Then Ch1[n]:=Ch[k]//массив первых байтов
Else //если "к" нечетное то
Begin
Ch2[n]:=Ch[k];//массив вторых байтов
INC(n);
End;
INC(k);
End;
End;
CloseFile(fDoc);

Ch12Size:=High(Ch1);

StartDoc:= detect_start;//ориентировочно начало текста документа
EndDoc := detect_end; //ориентировочно конец текста документа
ss:=''; //сюда будем записывать текст

fORM1.Caption:='Старт='+IntToStr(StartDoc*2)+' Финиш='+IntToStr(EndDoc*2);

//Главный цикл по тексту документа
For i:=StartDoc to EndDoc Do
Begin

if Ord(Ch2[i])=$00 Then
Begin
//первая половина таблицы - латиница, цифры и знаки
If Ord(Ch1[i])=$0D Then ss:=ss+#13;
If (Ord(Ch1[i])>=$20)and(Ord(Ch1[i]) End;

if Ord(Ch2[i])=$04 then
Begin
//русские буквы
If (Ord(Ch1[i])>=$10)and(Ord(Ch1[i]) if (Ord(Ch1[i])>=$30)and(Ord(Ch1[i]) if (Ord(Ch1[i])=$01) Then ss:=ss+'Ё';
if (Ord(Ch1[i])=$51) Then ss:=ss+'ё';
//украинские буквы
if (Ord(Ch1[i])=$54) Then ss:=ss+'є';
if (Ord(Ch1[i])=$04) Then ss:=ss+'Є';
if (Ord(Ch1[i])=$56) Then ss:=ss+'і';
if (Ord(Ch1[i])=$06) Then ss:=ss+'І';
if (Ord(Ch1[i])=$57) Then ss:=ss+'ї';
if (Ord(Ch1[i])=$07) Then ss:=ss+'Ї';
End;
//Символы
if Ord(Ch2[i])=$20 then
Begin
if (Ord(Ch1[i])>=$14) Then ss:=ss+' - ';//тире;
if (Ord(Ch1[i])>=$1C) Then ss:=ss+'"'; //открыв.
Подробнее...
 

Доступна для скачивания финальная версия avast! free antivirus

11.02.2012 17:58

Разработчики чешской компании AVAST Software сообщили о выпуске финальной версии программного решения avast! Free Antivirus 6.0, предназначенного для комплексной защиты персональных компьютеров под управлением Windows XP/Vista/7 от вредоносных файлов и сетевых угроз.

Ключевой особенностью новинки является поддержка технологии AutoSandbox, обеспечивающей выполнение сомнительных приложений в изолированном виртуальном пространстве.

Подробнее...
 

Colorindex = 6;

09.02.2012 14:34
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Сохранение данных из ListView в *.xls

Сохранение данных из ListView в *.xls

Зависимости: ComObj
Автор: dDan, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Copyright: dDan
Дата: 3 декабря 2003 г.
***************************************************** }

procedure ListToExcel(ListView: TListView);
var
row, i: integer;
Range, Sheet: VAriant;
begin
try
Excel := CreateOleObject('Excel.Application');
except
raise Exception.Create('Невозможно поключиться к серверу Excel');
end;
Screen.Cursor := crHourGlass;
Excel.SheetsInNewWorkBook := 1;
Excel.WorkBooks.Add;
Sheet := Excel.Workbooks[1].Sheets[1];
Range := Sheet.Columns;
Range.Columns[1].ColumnWidth := 30;
Range.Columns[n].ColumnWidth := 30;
Range.Columns[n + 1].ColumnWidth := 30;
Range.Columns.Font.Size := 8;
Range := Sheet.Range['a1:f1'];
Range.Font.Size := 15;
Range.Font.Bold := True;
Range.Columns.Interior.ColorIndex := 6;
Range.HorizontalAlignment := 3;
Sheet.Cells[1, 2] := 'Данные на' + DateToStr(Date); //Заголовок
Range := Sheet.Range['a2:f2'];
Range.Font.Size := 10;
Range.Font.Bold := True;
Sheet.Cells[2, 1] := 'АА'; //Названия столбцов
Sheet.Cells[2, n] := 'ББ';
Sheet.Cells[2, n + 1] := 'вв';
Row := 3;
for i := 0 to List.Items.Count - 1 do
begin
Sheet.Cells[Row, 1] := ListView.Items.Item[i].Caption;
Sheet.Cells[Row, 2] := ListView.Items.Item[i].SubItems[n];
Sheet.Cells[Row, 3] := ListView.Items.Item[i].SubItems[n + 1];
inc(Row);
end;
Screen.Cursor := crDefault;
if SaveDialog.Execute then
Excel.WorkBooks[1].SaveAs(exs.FileName); //Сохраняем
Excel.Visible := True; //Показываем Excel
end;



 

Mod = loadlibrary(filename);

06.02.2012 17:40
1. Регистрация ActiveX:


function RegActiveX(FileName: string): HRESULT;
var
hMod: Integer;
RegProc: function: HRESULT; //HRESULT = Longint
begin
hMod := LoadLibrary(FileName);
if hMod = 0 then
raise Exception.Create('Unable to load library"' + FileName +
'".
Подробнее...
 

Программирование алгоритмов разветвляющейся структуры 2 ргрту turbo pascal

03.02.2012 21:03
Лабораторная работа №4
Программирование алгоритмов разветвляющейся структуры”
Вариант – 3
(из книги: “Алгоритмизация и программирование на
Турбо Паскале” В.C. Новичков)
{***********************************************************}
{Имя программмы в банке программ: LAB5V3.PAS }
{Программа:ZnachFunct, Лаб.
Подробнее...
 

Microsoft предлагает выдавать компьютерам сертификаты безопасности

02.02.2012 10:36

В прошлом году вице-президент подразделения Microsoft Trustworthy Computing Скотт Чарни выступил с предложением привнести в ИТ-отрасль способы борьбы с вирусами, аналогичные тем, что существуют в обычной жизни.

Суть идеи г-на Чарни сводилась к следующему.

Подробнее...
 

Из центра галактики ктото послал странные сигналы в мире разное

31.01.2012 06:56

Скотт Химен (Scott Hyman) и его коллеги из американского колледжа Sweet Briar только что обработали обширные записи, собранные в течение нескольких лет радиотелескопом Very Large Array в Нью-Мексико и обнаружили в центре нашей Галактики источник странного излучения.

Подробнее...
 

Страница 1 из 12


Духовность
TURBO PASCAL, документация, вопросы и ответы, программы, фишки, игры, новости
Turbo Pascal
Copyrigiht © 2009-2011