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 Базы данных разработка программирование

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

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

965  
Работа с Postgresql в C#

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

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

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

610  
Установка русской кодировки на уже созданную базу данных (смена COLLATION)

Полезный пример изменения кодировки (COLLATION) на уже созданной базе данных. В данном примере устан (читать далее...)

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

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

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

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

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

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

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

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

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

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

386  
Объединение выборок UNION, INTERSECT, MINUS в Oracle (PL/SQL)

В Oracle присутствует возможность объединять выборки. Для объединения используются операторы: UNION (читать далее...)

381