16 / 16 / 0
Регистрация: 19.03.2011
Сообщений: 137
1

Создание приложения

23.03.2011, 12:56. Показов 10343. Ответов 9
Метки нет (Все метки)

Delphi
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Button2: TButton;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
 
function ByteToBinStr(a_bByte: byte): string;
var
i: integer;
begin
SetLength(Result, 8);
for i := 8 downto 1 do
begin
   Result[i] := chr($30 + (a_bByte and 1));
   a_bByte := a_bByte shr 1;
end;
end;
 
function BinStrToByte(a_sBinStr: string): byte;
var
i: integer;
begin
Result := 0;
for i := 1 to length(a_sBinStr) do
   Result := (Result shl 1) or byte(a_sBinStr[i] = '1');
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
s1: string;
i: integer;
begin
 Edit2.Text:='';
 s1:=Edit1.Text;
 for i:=1 to Length(s1) do
  Edit2.Text:=Edit2.Text+ByteToBinStr(Ord(s1[i]));
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
s1: string;
begin
 Edit3.Text:='';
 s1:=Edit2.Text;
 while Length(s1)<>0 do begin
  Edit3.Text:=Edit3.Text+Chr(BinStrToByte(Copy(s1, 1, 8)));
  Delete(s1, 1, 8);
 end;
end;
end.
Вот есть код, что сделать в лазарусе, чтобы он начал работать
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2011, 12:56
Ответы с готовыми решениями:

Создание графического приложения
При выборе в меню &quot;создать&quot; &quot;программа&quot; появляется окно с модулем. Куда нужно вводить сам код? И...

Создание формы перед главной формой приложения
Как реализовать создание формы перед открытием главной?

Создание приложения "Будильник"
Создать приложение Будильник в назначенное время демонстрационная панель приобретает красный цвет и...

Создание мультиязычного приложения
Можно ли автоматизировать перевод? Допустим, имеется комбобокс с 4 строками: рус., англ., нем.,...

9
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
24.03.2011, 11:07 2
Цитата Сообщение от tanzor69 Посмотреть сообщение
Вот есть код, что сделать в лазарусе, чтобы он начал работать
Желательно сделать так:
1. Создаем новое приложение в Lazarus: Файл --> Создать --> Приложение.
2. Кидаем на форму три эдита и две кнопки.
3. Создаем события Button1Click и Button2Click.
4. Копипастим всю остальную логику в нужные нам места.

Можно, конечно, воспользоваться и возможностью портировать Delphi-проект, но не всегда это проходит гладко и все-равно надо будет править ручками (хотя бы оформление формы).
0
65 / 53 / 4
Регистрация: 06.09.2010
Сообщений: 254
24.03.2011, 13:48 3
Цитата Сообщение от Iv_ Посмотреть сообщение
Желательно сделать так:
1. Создаем новое приложение в Lazarus: Файл --> Создать --> Приложение.
2. Кидаем на форму три эдита и две кнопки.
3. Создаем события Button1Click и Button2Click.
4. Копипастим всю остальную логику в нужные нам места.

Можно, конечно, воспользоваться и возможностью портировать Delphi-проект, но не всегда это проходит гладко и все-равно надо будет править ручками (хотя бы оформление формы).
Не забудьте два раза кликнуть по Button1 и Button2, чтобы привязать к ним события OnClick. Затем переносите все начиная с 25-ой строки в вашем коде.
0
16 / 16 / 0
Регистрация: 19.03.2011
Сообщений: 137
27.03.2011, 11:10  [ТС] 4
Приложение запустилось. Оно вообще должно преобразовывать любые символы в двоичный код, и обратно. В двоичный код всё отлично преобразовывается,правда когда преобразовываешь текст из кириллицы в двоичный код - всё нормально, но из двоичного в киррилицу не преобразовывается.
Подскажите, с чем это связано, чем ему русский язык не понравился. А, и еще, в Delphi всё отлично было с кириллицей
0
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
27.03.2011, 11:15 5
забей на дельфи и иди на с++))))
0
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
27.03.2011, 18:03 6
Цитата Сообщение от tanzor69 Посмотреть сообщение
... но из двоичного в киррилицу не преобразовывается.
Подскажите, с чем это связано, чем ему русский язык не понравился.
Lazarus по-умолчанию работает с кодировкой UTF-8. Попробуйте поискать в этом направлении. Может быть при выводе после преобразования использовать UTF8Decode или UTF8Encode.
0
16 / 16 / 0
Регистрация: 19.03.2011
Сообщений: 137
27.03.2011, 23:38  [ТС] 7
Возможно именно в этом проблема, но знать бы еще как поправить эту кодировку
0
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
28.03.2011, 14:30 8
Цитата Сообщение от tanzor69 Посмотреть сообщение
...но знать бы еще как поправить эту кодировку
Ну, обратное перекодирование, скорее всего, производится в текущей кодировке системы, поэтому вам надо преобразовать то, что получилось в UTF-8.
Попробуйте, например так:
Pascal
1
2
3
var s: string;
...
Label1.Caption:=AnsiToUtf8(s);
Можно еще попробовать SysToUtf8 или UTF8Decode. Принцип использования - такой же, как в примере.
0
16 / 16 / 0
Регистрация: 19.03.2011
Сообщений: 137
29.03.2011, 22:30  [ТС] 9
Iv, ты знаешь, есть результат, теперь в поле edit3 хоть абра кадабра появилась какая-то, раньше вообще пусто было. Какие еще могут быть варианты кодировок? Эти 3 варианта не подошли((
0
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
30.03.2011, 08:40 10
Читая другой форум понял, что все переменные Lazarus хранит в кодировке UTF8 и если их надо
напрямую передавать в систему, то надо сначала их преобразовать в ее текущую кодировку.

Может вам попробовать обратные функции, типа: Utf8Encode, Utf8ToSys, Utf8ToAnsi
просто абракадабра - это уже явный признак того, что система пытается отобразить вашу строку, но при этом ее кодировка отличается от Uft8.
Еще как вариант, попробуйте преобразовывать строку в текущую кодировку системы до ее преобразования в двоичный код. Может так получится. Ну и отпишитесь, если получится, самому интересно : )

Добавлено через 10 минут
Вот, еще схожую проблему нашел, посмотрите, может будет полезно:
http://www.freepascal.ru/forum... tf8#p25400
http://freepascal.ru/forum/vie... ia_#p25367
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2011, 08:40
Помогаю со студенческими работами здесь

Создание многопользовательского приложения
Пожалуйста,помогите кто чем может.Я не так давно начала изучение Делфи и меня это очень...

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

Создание приложения на Android
Здравствуйте, решил попробовать написать приложения на Android на Delphi XE5, но столкнулся с такой...

Создание приложения на Delphi
Всем привет. Хотелось бы получить ответ на вопрос, если это возможно: можно с помощью любых...

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

Создание многопоточного приложения
Всем Привет Мне Надо помощ, по созадню многопоточного приложения просто здес не могу все писать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru