Просмотр полной версии : Delphi/Делфи
Ost1n_ud
23.06.2010, 22:42
Delphi/ Делфи
http://funkyimg.com/u2/375/970/cover3d_dh20101.png
Официальная страница (http://www.embarcadero.com/)
Полная статья на Википедии (http://ru.wikipedia.org/wiki/Delphi_(язык_программирования))
Delphi – это удивительный язык программирования, - это безграничные возможности, сотни компонентов, тысячи функций и открытых исходников. Вот почему даже самые продвинутые гуру не знают все о Delphi. На первый взгляд, кажется, что Delphi не одолеть? Выбросите эту мысль из головы – на то Вы и пришли в Интернет, чтобы учиться. Поверьте, delphi скоро станет для Вас настоящим другом и незаменимым помощником.
Пример.
{Событие, происходящее при создании формы MainForm}
procedure TMainForm.FormCreate(Sender: TObject);
var
{Объявление переменной типа TStrings(список строк).}
Strings: TStrings;
begin
{Создание(выделение памяти и т. д.) объекта типа TStringList.
TStringList - это потомок TStrings, реализующий абстрактные методы.}
Strings := TStringList.Create;
try
{Добавление строки.}
Strings.Add('Добавляемая строка.');
{Сохранение строк в файл.}
Strings.SaveToFile('C:\Strings.txt');
finally
{Удаление объекта.}
Strings.Free;
end;
end;
Крупнейшие информационные сайты и сообщества изучающих Delphi.
▪ КОРОЛЕВСТВО Дельфи | Виртуальный клуб программистов (http://delphikingdom.com/)
▪ Delphi Sources — Программирование на Delphi, более 800 примеров, статьи, форум, FAQ (http://www.delphisources.ru/)
▪ Мастера DELPHI (http://www.delphimaster.ru/)
▪ Delphi Plus — новости, посвященные Delphi (http://delphiplus.org/)
▪ Torry’s Delphi Pages — крупнейший сборник компонент для Delphi (http://torry.net/)
▪ DRKB — Русская база знаний по Delphi (http://drkb.ru/)
▪ DRKB — Статьи по Delphi (http://bdrc.ru/index/0-9)
GDI32.dll
25.06.2010, 19:43
а что это в шапке картиночка 7-ой IDE? На дворе 2010 год как бы.Официальная страница Вот официальная страница (http://www.embarcadero.com/)
и ссылка в вики вот эта
http://ru.wikipedia.org/wiki/Delphi_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0 %BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%B E%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29
А как насчет авто запуска дисков игромании? На какой платформе сделаны они?И вопше как такое сделать?
Enchantner
13.07.2010, 23:17
Drobot, судя по всему, стандартный DirectX. Какой-то модуль в духе DelphiX. Ничего особо сложного.
Стронглав
24.07.2010, 01:47
Здравствуйте. Такая задача. Даны к примеру три числа (1,2,3) нужно написать программку, которая создает максимально возможное число комбинаций из этих чисел, к примеру 123, 122,331 и т.д. То есть не просто перестановки но и с повторяющимися числами. вот написал но что-то не то, посоветуйте, кто что знает.
var
a: array[1..3] of integer;
b: array[1..3] of real;
z: array[1..9] of integer;
i,k:integer;
begin
for i:=1 to 3 do
if a[i]<a[i+1] then
begin
z[k]:=a[i];
end;
write(z[i],'');
end.
Стронглав,
var dig: array [0..2] of integer; {массив цифорок}
i: integer;
begin
for i:=0 to 26 do {число полученных элементов - n^m, n - число возможных цифр, m - их количество в числе}
begin
write(dig[i div 9]);
write(dig[(i+9) mod 9 div 3]);
writeln(dig[(i+3) mod 3];
end;
end.
писал на сях, потом переделал под паскаль, поэтому возможно начудил в синтаксисе, но думаю суть ясна.
Стронглав, даны три числа или три цифры?)
в любом случае по-моему всё просто: делаем тройной вложенный цикл (по количеству чисел-цифр), в котором на каждую позицию ставим каждый элемент массива.
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do begin write(dig[i],dig[j],dig[k]); writeln; end;
и все. можно ещё упростить при желании.
B@sil, по-моему в Делфи немножко не приветствуется стиль С и С++, я про нумерацию с нуля
Вопрос по компилятору. Можно ведь если условие булевское (переменная или функция), не писать =true? Tипа:
if function then
Такое ощущение, что меня из-за этого компьютер как-то не так понимает. Делфи 7-ка, если важно.
if function then
можно. И даже нужно, ибо =true - это лишнее действие, оно на доли секунды тормозит работу программы.
Возможно, проблема в том, что условие надо заключить в скобки. ПРиведите кусок кода)
Vanta11a
06.09.2010, 20:49
Есть SQL-запрос, где qry7 - ADOQuery, cbb(1,2,3) - combobox
qry7.Close;
qry7.SQL.Clear;
qry7.SQL.text:='insert into Zakaz (Klient, Sotrudnik, Forma oplati) values (:Klient, :Sotrudnik, :Forma oplati)';
qry7.Parameters.ParamByName('Klient').Value:=cbb2. Text;
qry7.Parameters.ParamByName('Sotrudnik').Value:=cb b1.Text;
qry7.Parameters.ParamByName('Fprma oplati').Value:=cbb3.Text;
qry7.Open;
Выходит ошибка Incompatible types: 'TStrings' and 'string'
Как исправить - не могу сообразить. Вроде combobox.text должно возвращать текст выбранной строки, а ParamByName вообще пофиг, что в него вписывать.
Как исправить?
под рукой нет справочников, чтобы понять суть кода (с SQL общался только в С#), но просто судя по ошибке - автоматически string в TString не хочет преобразоваться, надо явно преобразовывать
handless
25.10.2010, 21:14
1.как самостоятельно написать стандартные функции TrimLeft (удаляет из строки начальные пробелы и управляющие символы) ..
2. написать функцию для нахождения nго числа последовательности Фибоначчи
Build
[Fatal Error] Project1.dpr(6): Internal error: URW3950
вот возникает такая ошибка, когда копирую программу с нетбука на основной комп и наоборот.
Что это такое?
Заново переставлять дельфи или как?
AutoAndroid
01.11.2010, 00:32
Delphi — что это?
В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -фантастическая!
Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
В настоящее время программистам стала доступна очередная версия пакета Delphi - Borland Delphi 7 Studio. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Отличительной особенностью седьмой версии является поддержка технологии .NET.
Borland Delphi 7 Studio может работать в среде операционных систем от Windows 98 до Windows XP. Особых требований, по современным меркам, к ресурсам компьютера пакет не предъявляет: процессор должен быть типа Pentium или Celeron с тактовой частотой не ниже 166 МГц (рекомендуется Pentium II 400 МГц), оперативной памяти - 128 Мбайт (рекомендуется 256 Мбайт), достаточное количество свободного дискового пространства (для полной установки версии Enterprise необходимо приблизительно 475 Мбайт).
Enchantner
01.11.2010, 22:50
AutoAndroid, товарищ, ваша информация устарела лет эдак на 5. Delphi уже давненько и не Борланд Делфи вовсе, а очень даже CodeGear RAD Studio от Embarcadero Technologies, просто седьмая версия признана классической.
AutoAndroid, товарищ, ваша информация устарела лет эдак на 5. Delphi уже давненько и не Борланд Делфи вовсе, а очень даже CodeGear RAD Studio от Embarcadero Technologies, просто седьмая версия признана классической.Когда Embarcadero Technologies купила у Борланд CodeGear, он стал называться Embarcadero RAD Studio :) А с последней версии, её стоит называть Embarcadero RAD Studio XE :)
handless
08.11.2010, 23:01
Как заполнить массив случайными числами типа +-real
Ваяю прости господи "игру для программистов". Та часть, которая отвечает за "игру" вроде бы работает, кроме одного бага, который решено считать фичей. Теперь собственно о "программировании". Это будет собственный скриптовый язык, примерно такого вида
[Глобальные условия, чтобы по двадцать раз не писать в локальных
функция1>функция2 - условия примерно такого вида. При этом у функций может быть разное количество параметров, можно юзать просто константы.
условие2
условиеn
]
<локальные условия
первое
второе
третье
>
команда (перемещение на 1-2 клетку в четыре стороны (+ автоматически определяемые "в сторону нашей\вражеской базы\флага") и постройка "башни")
<
>
команда
[
]
<
>
Хранится в обычном txt.
Я сейчас буду упорно курить всё, что есть в интернете о работе с текстами, но может не надо изобретать велосипед и где-то есть наводки, как это проще сделать?
Имеется функция. В случае, если вылезает какая-либо ошибка, нужно тупо сделать её равной нулю.
function Twarrior.initiate(source:Tstrings):integer;
var check:boolean;
begin
try
........
except
on e:exception do
result:=0;
end;
end;
Почему не делает, а выдает ошибку, едрить? Внутри этой функции используются другие функции и рекурсия. Может директива компилятора какая потерялась? Есть только {$R *.dfm}
Никак не могу понять, что от меня вообще требуется в этой задаче. Подскажите, пожалуйста
В следующем фрагменте программы определите новый курс К2 корабля, если корабль сначала шел по курсу К1, а затем его курс был изменен согласно приказу ПР
type
курс = (СЕВЕР, ВОСТОК, ЮГ, ЗАПАД);
приказ = (ВПЕРЕД, ВЛЕВО, ВПРАВО, НАЗАД);
var
К1, К2: курс;
ПР: приказ;
[CCCP] Monster
10.12.2010, 13:24
Дарио, Честно говоря, я тут понял еще меньше. Это хоть какая предметная область? Что за дисциплина?
Никак не могу понять, что от меня вообще требуется в этой задаче. Подскажите, пожалуйста
В следующем фрагменте программы определите новый курс К2 корабля, если корабль сначала шел по курсу К1, а затем его курс был изменен согласно приказу ПР
type
курс = (СЕВЕР, ВОСТОК, ЮГ, ЗАПАД);
приказ = (ВПЕРЕД, ВЛЕВО, ВПРАВО, НАЗАД);
var
К1, К2: курс;
ПР: приказ;
вообще по синтаксису на паскаль тянет, а не на с/с++
В общем, требовалось что-то вроде
begin
writeln('enter the course');
readln(K1);
writeln('enter the order');
readln(ord);
case K1 of
north: case ord of
forw: begin K2:=north; writeln(K2); end;
backw: begin K2:=south; writeln(K2); end;
left: begin K2:=west; writeln(K2); end;
right: begin K2:=east; writeln(K2); end;
east: case ord of
forw: begin K2:=east; writeln(K2); end;
backw: begin K2:=west; writeln(K2); end;
left: begin K2:=north; writeln(K2); end;
right: begin K2:=south; writeln(K2); end;
south: case ord of
forw: begin K2:=south; writeln(K2); end;
backw: begin K2:=north; writeln(K2); end;
left: begin K2:=east; writeln(K2); end;
right: begin K2:=west; writeln(K2); end;
west: case ord of
forw: begin K2:=west; writeln(K2); end;
backw: begin K2:=east; writeln(K2); end;
left: begin K2:=south; writeln(K2); end;
right: begin K2:=north; writeln(K2); end;
end.
Хоть программа пока и не работает, смысл мне стал понятен
есть два комбобокса
в одном допустим 1 2 3 4
в другом Коля петя маша саша
как записать что бы при выборе 1, во втором появлялся только маша саша, при выборе 2 появлялся коля петя, при выборе другого только определенные данные?
как бы в if записать, но как правильнее?
begin
writeln('enter the course');
readln(K1);
writeln('enter the order');
readln(ord);
case K1 of
north: case ord of
forw: begin K2:=north; writeln(K2); end;
backw: begin K2:=south; writeln(K2); end;
left: begin K2:=west; writeln(K2); end;
right: begin K2:=east; writeln(K2); end;
east: case ord of
forw: begin K2:=east; writeln(K2); end;
backw: begin K2:=west; writeln(K2); end;
left: begin K2:=north; writeln(K2); end;
right: begin K2:=south; writeln(K2); end;
south: case ord of
forw: begin K2:=south; writeln(K2); end;
backw: begin K2:=north; writeln(K2); end;
left: begin K2:=east; writeln(K2); end;
right: begin K2:=west; writeln(K2); end;
west: case ord of
forw: begin K2:=west; writeln(K2); end;
backw: begin K2:=east; writeln(K2); end;
left: begin K2:=south; writeln(K2); end;
right: begin K2:=north; writeln(K2); end;
end.
Это называется китайский код :)
Если религия не запрещает поставить соответствие между направлениями и цифрами, то можно сделать так:
Const
forward = 1; left = 2; backward = 3; right = 4;
north = 1; east = 2; south = 3; west = 4;
type
TCourse = 1..4;
TOrder = 1..4;
var
firstCourse1, secondCourse: TCourse;
order: TOrder;
Begin
writeln('enter the course (north - 1; east - 2; south - 3; west - 4');
readln(firstCourse);
writeln('enter the order (forward - 1, left - 2, backward - 3, right - 4)');
readln(order);
secondCourse := (firstCourse + order - 2) Mod 4 + 1;
End.
Добавлено через 21 минуту
есть два комбобокса
в одном допустим 1 2 3 4
в другом Коля петя маша саша
как записать что бы при выборе 1, во втором появлялся только маша саша, при выборе 2 появлялся коля петя, при выборе другого только определенные данные?
как бы в if записать, но как правильнее?
Можно создать массив соответствий:
var
// Первый индекс - индекс выбранного элемента в первом списке,
// второй - индекс имени. Если записано true, то соответствующее имя должно попасть в список.
whatShow = Array [0..3, 0..3] of Boolean;
names = Array[0..3] of String;
Begin
// Не знаю, есть ли в Delphi сокращенная инициализация массивов...
whatShow[0, 0] = false; whatShow[0, 1] = false; whatShow[0, 2] = true; whatShow[0, 3] = true;
whatShow[1, 0] = true; whatShow[1, 1] = true; whatShow[1, 2] = false; whatShow[1, 3] = false;
whatShow[2, 0] = false; whatShow[2, 1] = true; whatShow[2, 2] = false; whatShow[2, 3] = true;
whatShow[3, 0] = true; whatShow[3, 1] = false; whatShow[3, 2] = true; whatShow[3, 3] = false;
names[0] = "Коля"; names[1] = "Петя"; names[2] = "Маша"; names[3] = "Саша";
// Не помню названия методов, но суть такая:
CheckBox2.Clear; // Чистим список с именами
For i = 0 To 3 Do
If whatShow[CheckBox1.SelectedItemIndex, i] Then
CheckBox2.Items.Add(names[i]); // Добавляем имя в список, если в массиве в соответствующем месте true
End;
При добавлении элемента в контейнер, он становится в начало ? почему ?
Какая разница между Delphi 2007 и Delphi 7 Lite Full Edition?
[Frgt10]
14.04.2011, 14:48
Как написать след. условие: если в результате sql запроса ничего не было найдено, то выполнить действие. ?
Сам запрос, на всякий случай
DataModule1.ADOQuery1.SQL.Add('SELECT [Название вакансии]');
DataModule1.ADOQuery1.SQL.Add('FROM Вакансии WHERE [Название вакансии] =:Назв_вак;');
DataModule1.ADOQuery1.Parameters.ParamByName('Назв _вак').Value := DBEdit4.Text;
perfect.must
14.04.2011, 15:07
[Frgt10], проверь количество записей после выполнения запроса. Считай, если ничего не найдено, то записей будет 0.
if (DataModule1.ADOQuery1.recno=0) then
Дальше пишешь то, что будет выполнятся, если в результате запроса ничего не было найдено.
[Frgt10]
14.04.2011, 16:20
[Frgt10], проверь количество записей после выполнения запроса. Считай, если ничего не найдено, то записей будет 0.
if (DataModule1.ADOQuery1.recno=0) then
Попробовал. Так не правильно, т.к. даже если по запросу ничего не найдено в таблице все равно есть 1 строка, только пустая. Поэтому это условие не выполнялось. Нашел подходящую функцию:
if (DataModule1.ADOQuery_Vac.IsEmpty=true) then
Так работает.
[Frgt10]
23.04.2011, 19:55
Как в таблице перейти на запись выбранную в ComboBox'e ? В комбобоксе список компаний, выбрав одну нужно отобразить сведения о ней.
Думаю что примерно так
DataModule1.ADOTable_Companys.FieldbyName('Названи е компании').[нечто, чему присваиваем значение комбобокса] ComboBox1.Text;
и еще подскажите как комбобоксу задать значение по умолчанию?
perfect.must
25.04.2011, 07:39
;9268432]Как в таблице перейти на запись выбранную в ComboBox'e ? В комбобоксе список компаний, выбрав одну нужно отобразить сведения о ней.
Через фильтр может?
DataModule1.ADOTable_Companys.Filter:='Название_ко мпании='+ComboBox1.Text;
;9268432]и еще подскажите как комбобоксу задать значение по умолчанию?
ComboBox1.ItemIndex:=индекс выбираемого значения;
Например, если у тебя в комбобоксе значения: a, b, c, и ты хочешь чтобы по умолчанию стояло "c", то пишешь ComboBox1.ItemIndex:=2 (нумерация идет с нуля).
[Frgt10]
25.04.2011, 10:15
Celsius, через фильтр не работает. Ошибка: Аргументы имеют неверный тип, выходят за пределы доспустимого диапазона или вступают в конфликт друг с другом.
perfect.must
25.04.2011, 14:40
[Frgt10], попробуй
DataModule1.ADOTable_Companys.Filter:='[Название_ко мпании]='+ComboBox1.Text;
[Frgt10]
25.04.2011, 16:52
Celsius, результат тот же. ладно, забей.
SolidlSnake
25.04.2011, 22:48
[Frgt10], не надо так забрасывать - проблемы нужно учиться решать, в будущем пригодится.
[Frgt10]
26.04.2011, 07:28
SolidlSnake, я и не собираюсь забрасывать.
Alex_PRO
03.05.2011, 00:01
Тут с несложными заданиями помогают?
http://s57.radikal.ru/i158/1105/b4/fa3da66fd900.jpg
[Frgt10]
11.06.2011, 10:12
Есть компонент BDCtrlGrid, на нем помимо разных edit'ов и пр. есть Label в котором должен отображаться порядковый номер записи. Как это сделать?
Sooltan DJ
02.12.2011, 21:39
Нужно срочно сделать прогу по Курсовой работе, метод шифрования магический квадрат, с дизайном и с возможностью сохранения файла. Очень нужно до вторника готовая прога.
Добавлено через 20 часов 20 минут
Кто-нибудь может сделать?
Sooltan DJ
05.12.2011, 17:30
Мне очень срочно нужно на этой неделе.
bober_maniac
07.12.2011, 00:01
Тювак, у нас тут элитное общество, мы таким не занимаемся.
Вводится строка, например «2+3», «7*7», «8/2».
Нужно вывести результат.
Не могу сообразить, как грамотно реализовать считывание из строки цифр и знака
Не могу сообразить, как грамотно реализовать считывание из строки цифр и знака
Считывай посимвольно.
CrazyJiM
05.02.2012, 23:57
считываешь по символу, а знак проверяешь с помощью if s(знак) = / then ... else if... s(знак) = * then... else if... и так со всеми знаками
задача: удалить запись из файла. решил записывать все записи кроме той что надо удалить в новый файл. потом удалять старый. и новый переименовывать по имени старого.
begin
AssignFile(f, 'tovar.dat');
reset(f); //файл, в котором все записи хранятся
AssignFile(g, 'tmp.dat');
rewrite(g); //создаю новый файл
j:=0;
while (not EOF(f)) do
begin
seek(f,j);
read(f,x);
if x.name=namebox.text then //тут мне нужно пропустить запись, у которой имя совпадает с тем что введено в namebox
begin
inc(j);
seek(f,j);
read(f,x);
end;
write(g,x);
inc(j);
end;
Erase(f); //стираю старый файл
s:='tovar.dat';
ReName(g, s); //переименовываю новый файл
closefile(f); //я понимаю что формально я удалил файл f, но ведь он ассоциирован с файлом, который уже после переименования существует.
end
при попытке удалить запись, выдаёт ошибку io 32. проходил код пошагово, ошибка появляется уже по завершении этой процедуры, то есть даже после выполнения закрытия файла
G.E.A.R.
06.03.2012, 20:16
как из WebBrowserа кликом по ссылке вызвать процедуру?
фон_Цинег
09.03.2012, 11:48
Если речь идет о TWebBrowser, то обработкой его события OnNavigateComplete2.
Делаю небольшую задачку, но условия оформления таковы, что обязательно должно быть MainMenu с кучей пунктов, хотя можно было обойтись.
Хочу как бы разделить код, вынести все процедуры, отвечающие за обработку пунктов меню, в отдельный Unit. Т.е. получается одна форма, а к ней два юнита - с алгоритмами обработки данных и с обработчиками менюх. Как это сделать?
G.E.A.R.
18.03.2012, 19:53
Так?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
menu1: TMenuItem;
procedure menu1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.menu1Click(Sender: TObject);
begin
Procedure1;
end;
end.
unit Unit2;
interface
Procedure Procedure1;
implementation
uses Unit1;
Procedure Procedure1;
Begin
Form1.Caption:='qwerty';
End;
end.
Да, заработало наконец-то. Гуглил что-то подобное но не работало.
Еще, когда через File-New создаешь AboutBox - при выводе его на экран он блокирует основную форму, т.е. пока не закроешь AboutBox переключиться на главную форму нельзя. Как такое сделать с собственной формой? Я так понимаю, должно быть какое-то свойство формы (потому что в AboutBox никаких обработчиков событий по умолчанию нет), но я его не могу найти.
G.E.A.R.
19.03.2012, 08:13
показывай свою форму так Form2.ShowModal
MicPavlov
20.03.2012, 10:47
Кто нибудь работал с графическими файлами tiff? Если есть можете библиотеку скинуть? или компонент?
гидроцветок
10.04.2012, 23:27
Как получать из edit тип cordinal,а потом работать им как с int?
bober_maniac
14.04.2012, 20:49
Как получать из edit тип cordinal,а потом работать им как с int?
А зачем тебе работать с ним как с int? Получи сразу int с помощью текста и функции StrToInt.
bober_maniac
14.04.2012, 20:49
Как получать из edit тип cordinal,а потом работать им как с int?
А зачем тебе работать с ним как с int? Получи сразу int с помощью текста и функции StrToInt.
Льюс Терин
09.06.2012, 10:09
Простите за глупый вопрос. У дэлфи свой язык? или это тот же паскаль?
NOSик,
тот же паскаль, просто среда делфи (свой компилятор и всё такое прочее)
но есть некоторые отличия при работе с объектами в обжект-паскаль и в делфи
NOSик, делфи - отдельный язык. Это не обжект паскаль.
Digimortal
09.07.2012, 20:54
Народ помогите советом :)
Надо написать программу (ради тренировки) для расчёта:
3*х1+2*х2+1х3 =5
2*х1+3*х2+1*х3 =1
2*х1+1*х2+3*х3 =11
Во всех трёх строках х1, х2 и х3 должны иметь одинаковые значения.
Который час ломаю голову.
Digimortal, Бог ты мой. Что конкретно не получается? Ты не умеешь решать систему уравнений?
Digimortal
09.07.2012, 21:16
Ага, не умею.
Digimortal, Ну тогда дуй в гугл (https://www.google.com/search?sourceid=chrome&ie=UTF-8&q=%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0+%D1%8 3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9) . Ничего сложного в решении систем нет.
Я бы даже сказал дуй сюда. (https://www.google.com/search?hl=ru&sclient=psy-ab&q=%D0%9C%D0%B5%D1%82%D0%BE%D0%B4+%D0%93%D0%B0%D1%8 3%D1%81%D1%81%D0%B0&btnG=) Хотя тут 3 уравнения и 3 неизвестных, так что более полезно закодить Метод Крамера.
Кар-Карыч
10.07.2012, 16:34
Ага, не умею.
Ох боже мой, решение системы уравнений методом обратной матрицы, смотри тут (http://schoolmathematics.ru/reshenie-sistemy-uravnenij-metodom-obratnoj-matricy)
Cornereaux
01.12.2012, 11:36
Написать программу, которая выводит на экран изображение перемещающегося кораблика. Кто сможет скинуть проект на почту?
Льюс Терин
01.01.2013, 11:50
Чем Delphi 2007 отличается от Delphi 7?
nosikamus, http://nnm.ru/blogs/alex_sporik/delphi_2007_novinki_yazyka_po_sravneniyu_s_delphi_ 7/
Cornereaux
29.04.2013, 15:06
Нужна помощь в создании тестовой программы, считывающей вопрос, варианты ответов и ответ с внешнего файла, с выведением количества правильных ответов. Кто может потратить свое бесценное время, прошу помочь.
P.S. Считывание должно быть с .doc файла
Льюс Терин
06.10.2013, 12:22
не работает этот кусок кода:
begin
Form1.Canvas.Ellipse(360, 112, c.Di+360, c.Di+112);
end;
Если просто числами задать, то все нормально, с простыми переменными тоже не работает.
Ошибка
E2250 There is no overloaded version of 'Ellipse' that can be called with these arguments
nosikamus, переменные типа integer? Нарыл такой кусок кода, сверь со своим.
var x1, y1, x2, y2: Integer;
begin
X1:=100; y1:=100;
X2:=200; y2:=200;
canvas.Ellipse(x1, y1, x2, y2);
Льюс Терин
08.10.2013, 23:12
Да. Я уже что по разному извращался.
Попробую твой вставить, посмотрю будет работать или нет.
Спасибо.
А где подробней про классы почитать можно про это? Мне это нужно именно через класс сделать, вроде.
nosikamus, ну вот это http://win-ni.narod.ru/lect/lect14.htm например. Я на дельфи так-то не пишу)
Льюс Терин
02.11.2013, 17:17
Как сделать так, что бы когда я ввожу текст по символьно через компонент Button в Edit, сиволы вводились последовательно, а не заменяя друг друга. Или с Edit такое нельзя сделать?
АПД:
Тупой вопрос, на самом деле, и задал его тупо.
Все просто:
Edit1.Text:= Edit1.Text + 'символ'
Льюс Терин
18.11.2013, 15:51
Можно ли как-то Delphi сформировать что-то типа отчета о использованных компонентов в написанной программе - какие события использовались, и.т.д.
Можно,конечно вручную, но вот подумал: а не предусмотрена такая возможность в самой среде.
Delphi 7
RAD XE
Льюс Терин
19.11.2013, 20:37
И в догонку еще проблема:
if (Key in ['+']) then
begin
key:= #0;
Btn11.Click;
end;
if (Key in ['-']) then
begin
key:= #0;
Btn12.Click;
end;
if (Key in ['*']) then
begin
key:= #0;
Btn13.Click;
end;
if (Key in ['/']) then
begin
key:= #0;
Btn14.Click;
end;
Все работает, кроме '-', сама кнопка работает, но не срабатывает при нажатии '-'
Льюс Терин
21.01.2015, 20:04
Тут все мертво...
Хочу передать синусойду через сокет на другой компьютер, передаю уже посчитаные x и y а на приеме уже рисую.i
procedure TForm1.Button3Click(Sender: TObject);
begin
while x *<=100 do
*begin
* y:=sin(x);
* *ClientSocket1.Socket.SendText(FloatToStr(x) + '&' +FloatToStrf(y, fffixed, 3,3) );
* x:= x + dx;
end;
end;
На цикле сокет заикается, и не передает ничего. Если цикл убрать, и просто клацать кнопку, то отрисовка у клиента идет. Думал добавить Sleep(), но не получается засунуть отправку в поток:
Код Delphi
ClientSocket1.Socket.SendText(FloatToStr(x) + '&' +FloatToStrf(y, fffixed, 3,3) );
Без потока программа естественно виснет.
Как сделать так, что бы сокет передавал данные?
[CCCP] Monster
21.01.2015, 20:48
nosikamus, Тут все мертво...
Сегодня встретишь ты едва ли,
Тех кто пишет на Паскале.
Все, кого ты ни спроси,
Программируют на Си.
На цикле сокет заикается, и не передает ничего.
Объект сокета создавался как синхронный? Какие параметры протокола использовались? Конструктор и настройки, в общем, напиши.
Льюс Терин
21.01.2015, 21:16
[CCCP] Monster, все, на меня поругались на кибер форуме, и решил проблему http://www.cyberforum.ru/delphi-networks/thread1359013.html
Marcus. F
04.03.2016, 20:51
Подскажите как написать в делфи программу проверки пунктуации? тоесть она должно проверять наличие пробелов перед точкой и после, если есть перед то удалить его, если нет пробела после точки поставить. Сам в делфи даун, но очень надо.
ALEXEVIAN
14.07.2016, 11:50
Marcus. F, команды Pos и ReplaceStr тебе в помощь. Первой находишь положение точек в исходном тексте, второй заменяешь неправильные куски на правильные. Ну, ещё понадобится сравнивать соседние с точкой два символа на наличие пробела.
Добавлено через 6 минут
Можно ли как-то Delphi сформировать что-то типа отчета о использованных компонентов в написанной программе - какие события использовались, и.т.д.
Можно перебрать все обьекты на форме и перечислить их. Названия компонентов в смысле библиотек типа LMD использованных в программе вряд ли удастся автоматом вывести.
Льюс Терин
14.07.2016, 12:17
Так и делал.
vBulletin® v3.8.0, Copyright ©2000-2025, Jelsoft Enterprises Ltd.