Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Программирование (http://forum.igromania.ru/forumdisplay.php?f=243)
-   -   Delphi/Делфи (http://forum.igromania.ru/showthread.php?t=111292)

Ost1n_ud 23.06.2010 22:42

Delphi/Делфи
 

Delphi – это удивительный язык программирования, - это безграничные возможности, сотни компонентов, тысячи функций и открытых исходников. Вот почему даже самые продвинутые гуру не знают все о Delphi. На первый взгляд, кажется, что Delphi не одолеть? Выбросите эту мысль из головы – на то Вы и пришли в Интернет, чтобы учиться. Поверьте, delphi скоро станет для Вас настоящим другом и незаменимым помощником.

Пример.
Скрытый текст:
PHP код:

 {Событиепроисходящее при создании формы MainForm}
 
procedure TMainForm.FormCreate(SenderTObject);
 var
   {
Объявление переменной типа TStrings(список строк).}
   
StringsTStrings;
 
begin
   
{Создание(выделение памяти и тд.) объекта типа TStringList.
    
TStringList это потомок TStringsреализующий абстрактные методы.}
   
Strings := TStringList.Create
   try
     {
Добавление строки.}
     
Strings.Add('Добавляемая строка.');
     {
Сохранение строк в файл.}
     
Strings.SaveToFile('C:\Strings.txt');
   
finally
     
{Удаление объекта.}
     
Strings.Free;
   
end;
 
end



Крупнейшие информационные сайты и сообщества изучающих Delphi.

КОРОЛЕВСТВО Дельфи | Виртуальный клуб программистов
Delphi Sources — Программирование на Delphi, более 800 примеров, статьи, форум, FAQ
Мастера DELPHI
Delphi Plus — новости, посвященные Delphi
Torry’s Delphi Pages — крупнейший сборник компонент для Delphi
DRKB — Русская база знаний по Delphi
DRKB — Статьи по Delphi

GDI32.dll 25.06.2010 19:43

а что это в шапке картиночка 7-ой IDE? На дворе 2010 год как бы.
Цитата:

Сообщение от Ost1n_ud (Сообщение 8136976)
Официальная страница

Вот официальная страница

Mad-Dan 28.06.2010 02:27

и ссылка в вики вот эта
http://ru.wikipedia.org/wiki/Delphi_...D0%B8%D1%8F%29

Drobot 12.07.2010 17:00

А как насчет авто запуска дисков игромании? На какой платформе сделаны они?И вопше как такое сделать?

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.


B@sil 31.07.2010 09:28

Стронглав,
Код:

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.

писал на сях, потом переделал под паскаль, поэтому возможно начудил в синтаксисе, но думаю суть ясна.

ACC 03.08.2010 18:51

Стронглав, даны три числа или три цифры?)
в любом случае по-моему всё просто: делаем тройной вложенный цикл (по количеству чисел-цифр), в котором на каждую позицию ставим каждый элемент массива.
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, по-моему в Делфи немножко не приветствуется стиль С и С++, я про нумерацию с нуля

Анкар 05.09.2010 12:13

Вопрос по компилятору. Можно ведь если условие булевское (переменная или функция), не писать =true? Tипа:
if function then

Такое ощущение, что меня из-за этого компьютер как-то не так понимает. Делфи 7-ка, если важно.

ACC 05.09.2010 20:08

Цитата:

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:=cbb1.Text;
  qry7.Parameters.ParamByName('Fprma oplati').Value:=cbb3.Text;
  qry7.Open;

Выходит ошибка
Цитата:

Incompatible types: 'TStrings' and 'string'
Как исправить - не могу сообразить. Вроде combobox.text должно возвращать текст выбранной строки, а ParamByName вообще пофиг, что в него вписывать.

Как исправить?

ACC 12.09.2010 23:37

под рукой нет справочников, чтобы понять суть кода (с SQL общался только в С#), но просто судя по ошибке - автоматически string в TString не хочет преобразоваться, надо явно преобразовывать

handless 25.10.2010 21:14

1.как самостоятельно написать стандартные функции TrimLeft (удаляет из строки начальные пробелы и управляющие символы) ..
2. написать функцию для нахождения nго числа последовательности Фибоначчи

Steklov 31.10.2010 18:14

Build
[Fatal Error] Project1.dpr(6): Internal error: URW3950
вот возникает такая ошибка, когда копирую программу с нетбука на основной комп и наоборот.
Что это такое?
Заново переставлять дельфи или как?

AutoAndroid 01.11.2010 00:32

О Delphi
 
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, просто седьмая версия признана классической.

Hast 02.11.2010 01:30

Цитата:

Сообщение от Enchantner (Сообщение 8631948)
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

Анкар 09.11.2010 08:41

Ваяю прости господи "игру для программистов". Та часть, которая отвечает за "игру" вроде бы работает, кроме одного бага, который решено считать фичей. Теперь собственно о "программировании". Это будет собственный скриптовый язык, примерно такого вида
Скрытый текст:
Код:

[Глобальные условия, чтобы по двадцать раз не писать в локальных
функция1>функция2 - условия примерно такого вида. При этом у функций  может быть разное количество параметров, можно юзать просто константы.
условие2
условиеn
]
<локальные условия
первое
второе
третье
>
команда (перемещение на 1-2 клетку в четыре стороны (+ автоматически определяемые "в сторону нашей\вражеской базы\флага") и постройка "башни")
<

>
команда
[


]
<

>


Хранится в обычном txt.

Я сейчас буду упорно курить всё, что есть в интернете о работе с текстами, но может не надо изобретать велосипед и где-то есть наводки, как это проще сделать?

Анкар 24.11.2010 13:29

Имеется функция. В случае, если вылезает какая-либо ошибка, нужно тупо сделать её равной нулю.
Код:

function Twarrior.initiate(source:Tstrings):integer;
var check:boolean;
begin
try
........
except
on e:exception do
result:=0;
end;
end;

Почему не делает, а выдает ошибку, едрить? Внутри этой функции используются другие функции и рекурсия. Может директива компилятора какая потерялась? Есть только {$R *.dfm}


Часовой пояс GMT +4, время: 16:07.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.