Sovetsk Жалоба Опубликовано 3 апреля, 2009 А ведь я догадывался, что эта программа пишется в "пару строк" Препод упадет, когда увидит мой код гы гы з.ы. я на Delphi уже не пишу, но интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
soldat Жалоба Опубликовано 3 апреля, 2009 x = step / tan(PI * градус / 180), y = y+step) step - это на сколько сдвигать. Что-то вы намудрили Степ надо умножить на тангенс альфа, а не разделить 1) х= х - step*tan (PI *АЛЬФА / 180) 2) y=y+step, если угол АЛЬФА <90 градусов, y=y-step если угол АЛЬФА > 90 градусов 3) учтите, что если угол АЛЬФА > 90 градусов, то тангенс будет отрицательным и капли будут падать вверх Поэтому (step*tan (PI *АЛЬФА / 180)) надо брать по модулю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Regnar Жалоба Опубликовано 3 апреля, 2009 Всем спасибо большое, учу потихоньку, мне нравится =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 4 июня, 2009 Извиняюсь за вопрос не по теме. По Basic как выкрасить строку или столбец в двумерном массиве со следующим кодом? Dim m(1 To 5, 1 To 5) As Integer Private Sub Fill_m_Click() \\заполнение массива For i = 1 To 5 For j = 1 To 5 m(i, j) = Rnd * 100 mas(r) = m(i, j) r = r + 1 Next j Next i End Sub Private Sub First_Click() \\поиск суммы максимального и минимально элемента в j-столбце. Min = m(1, 1) Max = m(1, 1) st = jnum For i = 1 To 5 For j = st To st If m(i, j) > Max Then Max = m(i, j) If m(i, j) < Min Then Min = m(i, j) Next j Next i Max.Text = Max Min.Text = Min Sum = CInt(Max) + CInt(Min) Sum.Text = Sum End Sub Если быть точным, то нужно выкрасить столбец, в котором найден определенный элемент. А вот как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ksanatos Жалоба Опубликовано 5 июня, 2009 мда) Васик - это другая опера))) ну ищешь, соответственно, сравнивая поэлементно массив с константой... находишь первое вхождение - запоминаешь индекс столбца и... красишь))) А вот как - это зависит от ого, что именно покрасить надо Имхо что-то типа datagrid'a? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 xct, вот точная задача: "Создать массив размером 5 на 5 заполнить его целыми случайными числами от 0 до 100 . Найти max элемент i в строке где i задаётся в отдельной ячейке. Выделить эту строку цветом." For j = st To st St - это переменная, которая вводится вручную. Чтобы по определенному столбцу искать Если не ошибаюсь, то надо как-то в цикле ему объяснить, что надо красить. Никак не могу сообразить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 Ksanatos, я понял, что надо запомнить индекс столбца. Вот только не хочет он красить с двумя индексами через BackColor. Не знаю как объяснить этому Васику Покрасить надо TextBox'ы в форме, которые заполняются значениями массива. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akm-gala Жалоба Опубликовано 5 июня, 2009 For i = 1 To 5 For j = st To st If m(i, j) > Max Then Max = m(i, j) If m(i, j) < Min Then Min = m(i, j) Next j Next i А не проще так: For i = 1 To 5 If m(i, st) > Max Then Max = m(i, st) If m(i, st) < Min Then Min = m(i, st) Next i У тебя на каждый эл-т свой TextBox? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 У тебя на каждый эл-т свой TextBox? Да Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akm-gala Жалоба Опубликовано 5 июня, 2009 Имена TextBox-ов в массиве даешь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 akm-gala, да, TextBox-ы в массиве от mas(1) до mas(25) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akm-gala Жалоба Опубликовано 5 июня, 2009 Может от mas(0) все таки? Значит у тебя для первой строки текстбоксы от 0 до 4. Для второй от 5 до 9, для третьей от 10 до 14 и т.д. Зависимость просматривается. Берешь номер нужной тебе строки (m), номер первого нужного тебе текстбокса будет (m-1)*5. И от него в цикле 5 следующих красишь. Если тебе нужен столбец, переименуй текстобксы, чтоб они не по строке увеличивались, а по столбцу. :-) Код не напишу. Бейсик сто лет в глаза не видела. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 akm-gala, нет, я сделал именно от 1-го. С первой строки от 1 до 5, далее от 6 до 10 и т.д. Сейчас попробую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akm-gala Жалоба Опубликовано 5 июня, 2009 akm-gala, нет, я сделал именно от 1-го. С первой строки от 1 до 5, далее от 6 до 10 и т.д. Сейчас попробую Тогда номер первого нужного тебе текстбокса будет (m-1)*5+1 ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gupekTop_Kykypy3Huka Жалоба Опубликовано 5 июня, 2009 akm-gala,все, разобрался. Большое спасибо за помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akm-gala Жалоба Опубликовано 5 июня, 2009 gupekTop_Kykypy3Huka, да не за что :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Retroman Жалоба Опубликовано 8 сентября, 2009 вопрос есть по delphi7+mssql через ADO, а именно по комбобоксам в DBGrid. как собственно реализовать, чтоб в комбобоксе каждой ячейки столбца первой таблицы, помещались в данном случае, имена населенных пунктов, согласно индексу из другой таблицы. Выполнял руководствуясь этим , только вместо TTable использовал ADOTable т.к. первая не может работать с базой MS SQL подробности тут Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Silovik-Drish Жалоба Опубликовано 27 декабря, 2009 Люди помогите с задачкой.(Кстати рабочий программный код я хочу скомпилировать а потмо пропустить через IDA) Разработать EXE-программу и COM- программу позволяющую ввести с клавиатуры строку, автоматически удалить лишние пробелы, подсчитать количество символов в строке. Организовать вывод в виде: 1 строка – группа и ФИО студента, 2-строка – содержимое измененной строки, 3-я строка – количество символов измененной строки. Снабдить программу комментариями, уметь объяснить алгоритм программы и языковые конструкции. имеется вот такая вот наработка program FIO; var s,s1,s2,s3:string; i:integer; begin s2:=""; writeln ('‚ўҐ¤ЁвҐ ЈагЇЇг Ё ”?Ћ бв㤥в '); readln (s); for i:=1 to length(s) do begin; IF s(i)=" " then s1:="" else s1:=s(i) for i:=1 to length(s) begin; s2:=s2+s1; end; end; s3:=length(s2); writeln (s); writeln (s2); writeln (s3); readln; end. Но так как паскалем я давно занимался, то синтаксис забыл уже и чето какую-то ошибку он мне выдает) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Watashi Жалоба Опубликовано 27 декабря, 2009 (Кстати рабочий программный код я хочу скомпилировать а потмо пропустить через IDA) Восхищен смелостью, ибо знаю, какой мусор выдает борландовский компилятор и как его тяжело читать в ассемблерных листингах. Либо я бы DeDe использовал. По вопросу, что навскидку заметил. s1:=s(i) - тчк-зпт в конце, вроде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 2 января, 2010 Здравствуйте Все! С новым годом Вас! Хотелось бы проконсультироваться. Можете разъяснить как сделать репликацию базы Access в Delphi 7. не используя ресурсы самого Access ? С простым примером было бы просто замечательно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Дос Жалоба Опубликовано 2 января, 2010 Здравствуйте Все! С новым годом Вас! Хотелось бы проконсультироваться. Можете разъяснить как сделать репликацию базы Access в Delphi 7. не используя ресурсы самого Access ? С простым примером было бы просто замечательно Смотри в сторону компонентов ADO. В инете примеров валом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 4 января, 2010 Дос: Твоими устами да мед пить! Еслиб было все так просто не было бы и вопроса. Задача считается не тривиальной в общем случае. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VG2 Жалоба Опубликовано 4 января, 2010 А что через ODBC драйвер это не решается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 4 января, 2010 VG2: Должна конечно решаться. Вот нашел Jet and Replication Objects с ней сейчас колдую.Опыта маловато, вот и пытаюсь спросить у кого нибудь. Возможно уже есть готовый компонент для этих целей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 10 марта, 2010 Добрых суток Всем! Собственно возникла небольшая проблема с запросами в ADO. При записи в базу по непонятным мне причинам меняется местами день и месяц в поле типа TDateTime Запрос с параметрами. Пример: если попытаться записать в поле дату 10.03.2010 то в базе будет записано 03.10.2010 Ошибок не выдает. Если день имеет значение более 12 то все работает правильно. Кто нибудь сталкивался? P.S. Используется компонент TADOComand , типы полей базы и типы передаваемых параметров согласованы запрос классический с использованием insert into и так далее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты