Pascal - Сложение и умножение целых чисел любой размерности представленных в виде строк

Delphi и программирование на нём

Пришлось поработать с TurboPascal в очередной раз, под DOS. Была острая необходимость преобразовывать 8 байтовое шестнадцатиричное число в десятичное. Разумеется стандартными средствами, обычного DOS-ового Pascal-я такое решить в лоб нельзя. Ну нет в нем переменных способных уместить такой объём!

Для этих целей были написаны пара функций, топорно очень. Но работают. :)

Первая суммирует два десятичных числа представленных в виде строки, вторая умножает два десятичных числа представленных в виде строки.

1. Сложение (На входе 2 числа в виде строк, на выходе сумма этих чисел в виде строки)

function SumStr(in_1:string; in_2:string):string;
    var len_1, col_1,col_2,col_0,col_er,pont_1:integer;
        res_1, col_s:string;

  begin

  while (length(in_1)<>length(in_2)) do
    begin
      if length(in_1)>length(in_2) then
        in_2:='0'+in_2
          else
            in_1:='0'+in_1;
    end;

    res_1:='';

    pont_1:=0;
    for len_1:=length(in_1) downto 1 do
      begin
        val(in_1[len_1],col_1,col_er);
        val(in_2[len_1],col_2,col_er);
        col_0:=col_1+col_2+pont_1;
        pont_1:=col_0 div 10;
        col_0 := col_0 mod 10;
        str(col_0,col_s);
        res_1:=col_s+res_1;
      end;

      if pont_1>0 then
        begin
          str(pont_1,col_s);
          res_1:=col_s+res_1;
        end;

        SumStr:=res_1;

  end;

Читаль далее...

Pascal Turbo Pascal длинные целые числа сложение умножение строки

Маленькие заметки по программированию на Delphi

Delphi и программирование на нём

В этом документе буду собирать различные полезности которые встречаются в работе с этим языком программирования и IDE.

Заметка №1
Ширина и высота строки в пикселях.

var W,H: integer;

//Ширина
W := Canvas.TextWidth('Ширина строки');
ShowMessage('Ширина:'+IntToStr(W));

//Высота
H := Canvas.TextHeight('Высота строки');
ShowMessage('Ширина:'+IntToStr(H));


Заметка №2
Помещаем RGB цвет в TColor.
Color := RGB(R,G,B);
//Где R,G и B - Переменные типа Byte
//Интенсивность Красного ( R ), Зелёного ( G ) и Синего ( B )

Читаль далее...

Delphi ширина строки в пикселях RGB

Примеры процедур, для минимизации кода при работе с БД в Delphi.

Delphi и программирование на нём

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

Теперь о том, как я делал давным давно и как (к моему удивлению) многие программисты делают до сих пор.

Ох уж эти базы данных, чего может быть проще, кинул на форму DBGrid, Connection, Query или Table, DataSource, связал всё это хозяйство и работает — Красота!.. Только если этих таблиц много и выборки очень разнообразны (даже в случае когда мы всё вынесем на отдельную формочку) получится жуть в которой очень легко запутаться и это только на форме, в то что творится внутри кода и заглядывать страшно — бардак.

Да и в любом случае, надо вам скажем выполнить один единственный запрос в коде, и поехало собирание Query с кучей строчек кода.

Читаль далее...

Delphi Базы данных разработка программирование

Работа с Postgresql в C#

Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информаци (читать далее...)

1534  
Работа со строками в Oracle (PL/SQL)

Основные способы обработки строковых значений в Oracle. В этой публикации я приведу основные функции (читать далее...)

1065  
Передача параметров между формами в C#

Часто возникает необходимость передать определённые параметры между формами в одном приложении, напр (читать далее...)

1009  
Работа с MySQL в C#

Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правил (читать далее...)

718  
Поиск и регулярные выражения в MySQL

СУБД MySQL имеет различные инструменты для осуществления поиска, среди которых оператор LIKE, осущес (читать далее...)

681  
Сортировка списка (List) в C#

На днях понадобилось сортировать списки, удивительно, на сколько это оказалось просто. Допустим, име (читать далее...)

604  
Работа с XML в Oracle PL/SQL (Часть 1)

В этой публикации я приведу основные способы работы с XML в Oracle, которые сам использую. Здесь буд (читать далее...)

581  
Курсоры в MSSQL - перебор выборки в цикле.

Команды манипулирования данными SELECT, UPDATE, DELETE работают сразу с группами строк. Эти группы, (читать далее...)

556  
Функция Oracle TO_DATE (PL/SQL)

Функция TO_DATE — преобразует строку в переменную времени DATE. Синтаксис: TO_DATE(исходная_строка, (читать далее...)

500  
OpenXML - Пример создания Excel файла на C#

В данной публикации приведен пример генерации Excel файла при помощи библиотеки OpenXML. Отличие это (читать далее...)

486