BearKing

Pascal / Delphi

В теме 110 сообщений

А ведь я догадывался, что эта программа пишется в "пару строк"

Препод упадет, когда увидит мой код

 

гы гы :rolleyes:

 

з.ы.

я на Delphi уже не пишу, но интересно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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)) надо брать по модулю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо большое, учу потихоньку, мне нравится =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извиняюсь за вопрос не по теме. По 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

Если быть точным, то нужно выкрасить столбец, в котором найден определенный элемент. А вот как? :lame:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мда) Васик - это другая опера)))

ну ищешь, соответственно, сравнивая поэлементно массив с константой... находишь первое вхождение - запоминаешь индекс столбца и... красишь))) А вот как - это зависит от ого, что именно покрасить надо :D

Имхо что-то типа datagrid'a?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

xct, вот точная задача:

"Создать массив размером 5 на 5 заполнить его целыми случайными числами от 0 до 100 . Найти max элемент i в строке где i задаётся в отдельной ячейке. Выделить эту строку цветом."

 

For j = st To st

St - это переменная, которая вводится вручную. Чтобы по определенному столбцу искать :) Если не ошибаюсь, то надо как-то в цикле ему объяснить, что надо красить. Никак не могу сообразить :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ksanatos, я понял, что надо запомнить индекс столбца. Вот только не хочет он красить с двумя индексами через BackColor. Не знаю как объяснить этому Васику :) Покрасить надо TextBox'ы в форме, которые заполняются значениями массива.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имена TextBox-ов в массиве даешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может от mas(0) все таки?

 

Значит у тебя для первой строки текстбоксы от 0 до 4. Для второй от 5 до 9, для третьей от 10 до 14 и т.д. Зависимость просматривается. Берешь номер нужной тебе строки (m), номер первого нужного тебе текстбокса будет (m-1)*5. И от него в цикле 5 следующих красишь.

Если тебе нужен столбец, переименуй текстобксы, чтоб они не по строке увеличивались, а по столбцу. :-)

Код не напишу. Бейсик сто лет в глаза не видела.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

akm-gala, нет, я сделал именно от 1-го. С первой строки от 1 до 5, далее от 6 до 10 и т.д.

Сейчас попробую

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
akm-gala, нет, я сделал именно от 1-го. С первой строки от 1 до 5, далее от 6 до 10 и т.д.

Сейчас попробую

 

 

Тогда номер первого нужного тебе текстбокса будет (m-1)*5+1 ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

gupekTop_Kykypy3Huka, да не за что :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вопрос есть по delphi7+mssql через ADO, а именно по комбобоксам в DBGrid.

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

Выполнял руководствуясь этим , только вместо TTable использовал ADOTable т.к. первая не может работать с базой MS SQL

 

подробности тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди помогите с задачкой.(Кстати рабочий программный код я хочу скомпилировать а потмо пропустить через 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.

Но так как паскалем я давно занимался, то синтаксис забыл уже и чето какую-то ошибку он мне выдает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
(Кстати рабочий программный код я хочу скомпилировать а потмо пропустить через IDA)

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

 

По вопросу, что навскидку заметил.

s1:=s(i) - тчк-зпт в конце, вроде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте Все! С новым годом Вас!

Хотелось бы проконсультироваться.

Можете разъяснить как сделать репликацию базы Access в Delphi 7.

не используя ресурсы самого Access ?

С простым примером было бы просто замечательно :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Здравствуйте Все! С новым годом Вас!

Хотелось бы проконсультироваться.

Можете разъяснить как сделать репликацию базы Access в Delphi 7.

не используя ресурсы самого Access ?

С простым примером было бы просто замечательно :rolleyes:

 

Смотри в сторону компонентов ADO. В инете примеров валом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дос: Твоими устами да мед пить! Еслиб было все так просто не было бы и вопроса. Задача считается не тривиальной в общем случае.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что через ODBC драйвер это не решается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VG2: Должна конечно решаться. Вот нашел Jet and Replication Objects с ней сейчас колдую.Опыта маловато, вот и пытаюсь спросить у кого нибудь. Возможно уже есть готовый компонент для этих целей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрых суток Всем! Собственно возникла небольшая проблема с запросами в ADO.

При записи в базу по непонятным мне причинам меняется местами день и месяц в поле типа TDateTime

Запрос с параметрами.

Пример: если попытаться записать в поле дату 10.03.2010 то в базе будет записано 03.10.2010

Ошибок не выдает. Если день имеет значение более 12 то все работает правильно.

Кто нибудь сталкивался?

P.S.

Используется компонент TADOComand , типы полей базы и типы передаваемых параметров согласованы

запрос классический с использованием insert into и так далее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти