|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Помогите с 10-й и 16-й системой счисления!
Друзья нужна помощь, я пишу лабораторную работу, создание калькулятора. Калькулятор почти готов, но нужно еще добавить кнопку чтоб он переводила из десятичной системы счисления в шестнадцатиричную. Напишите пожалуста код пожалуста.
|
#2
|
||||
|
||||
Поблема стала тепер такая, калькулятор зделал еле как. Теперь нужно добавить кнопку или же сразу две, чтоб одна переводила в 10-ую, а другая в 16-ую. Если так не получится, то есть код программы которая переводит из 10-й в 16-ую. А теперь как этот код вставить в кнопку для перевода и что нужно подправить.
Цитата:
|
#3
|
||||
|
||||
Написал программу перевода из 10 в 16 на паскале, открыл Делпхи , скопировал код для консольного режима а программа не ззапускается, в чем дело. Помогите. Как сделать прогу мою на Делпхи в консольном режиме и что надо подправить.
Цитата:
|
#4
|
||||
|
||||
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) EditHex: TEdit; EditDec: TEdit; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin EditHex.Text:=IntToHex(1234567890123456789, 16); EditDec.Text:=IntToStr(StrToInt64('$'+EditHex.Text)); end; end. Пишу программы за еду. __________________ |
#5
|
||||
|
||||
Извините меня NumLock, ваша програма почемута ругается. Особенно на два слова EditHex, EditDec. Я бы хотел уточнить это програ под DOS или нет то откуда мне взять EditHex, EditDec или их надо переименовать в Edit1 и Edit 2. На каких они вкладках находятся? Что то я отупел в конец
|
#6
|
||||
|
||||
это едиты на форме:
Код:
type TForm1 = class(TForm) EditHex: TEdit; EditDec: TEdit; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; Пишу программы за еду. __________________ |
#7
|
||||
|
||||
Я все понимаю, но смотрите, как я делал по вашему примеру. Я на формул кинул из вкладки стандартные Edit1 и Edit2. И они прописываются так:
Цитата:
Цитата:
Цитата:
|
#8
|
||||
|
||||
В чем собственно вопрос? Edit1 и EditHex - это один и тот же компонент, с разными именами...
Код:
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; ... Edit1.Text:=IntToHex(1234567890123456789, 16); Edit2.Text:=IntToStr(StrToInt64('$'+EditHex.Text)); Помогаю за Спасибо |
#9
|
||||
|
||||
Теперь он ругается на другое, посотрите на код где подчеркнуто на то и ругается:
Цитата:
Заранее всем спасибо за помощь. |
#10
|
||||
|
||||
Ну что сложно догадаться? Вы ж сами поменяли имя компоненту едиту...
Код:
... Edit2.Text:=IntToStr(StrToInt64('$'+Edit1.Text)); Помогаю за Спасибо |
#11
|
||||
|
||||
Теперь я понил. Но смотрите, в ем вопрос. Мы уже вписываем в нитри самой программе какое число перевести в 16 сист.счисления. А точнее говоря уже у нас в Edit2 уже вписано число и при запуске программы мы видим, что уже перевод готов. А нельзя ли сделать так что при запуке программы было так: Программа запустилась, но ничего там нет(пустые Edit), и мы вводим число в Edit1 и сразу появляется перевод в 16-ную в Edit2. А то постоянно менять в корне программу числа это как то затруднительно. Заранее спасибо.
|
#12
|
||||
|
||||
Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var s: String; begin while True do begin Write('Enter number (prefix $ for hex): '); Readln(s); if s='' then Exit; if s[1]='$' then begin Writeln('hex number='+s); Writeln('dec number='+IntToStr(StrToInt64Def(s, 0))); end else begin Writeln('dec number='+s); Writeln('hex number=$'+IntToHex(StrToInt64Def(s, 0), 16)); end; end; end. Пишу программы за еду. __________________ |
#13
|
||||
|
||||
Большое человеческое спасибо вам NumLock и v1s2222, за помощь .
|
#14
|
||||
|
||||
сделаєш одну копку и одно поле Edit1 и все
begin nn:=strtoint(edit1.Text); Edit1.Text:=inttohex(nn, 8); end; |
#15
|
||||
|
||||
Помогите решить уравнение
Y+4/Y-4=X решите очень нужно
|