powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GRID..почему так сложно...
10 сообщений из 10, страница 1 из 1
GRID..почему так сложно...
    #34392414
studen_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите с grid'om
вообщем нужно ввести 2 числа(длина и высота) для грида(вылазиет форма)...и он сам "выростает" в длину и высоту....и все ячейки кроме диагональных заполняются rand() числами...подскажите как делать...хотябы немного..не могу ничего понять в этом гриде...какие свойства у него и прочее

Спасибо! буду счастлив

p.s.фокс будет жить вечно
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34392441
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сказки рассказывеаем... Rand() числа...
Так как твой вопрос понять затруднительно, может догадаешься показать кусок кода, в котором проблема?
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34392455
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
грид ничего не хранит - он всего лишь интерфейс - это главное что нужно понять.
поэтому - вы должны заполнять источник данных для грида , а не грид.
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34392823
studen_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок. согласен, написал по-дурацки!
А если так: вводим 2 числа , пример 15 и 16. создается таблица или 2 со случайными числами. и это все должно отобразиться в гриде.. т.е. грид с 15 столбцами и 16 строками и полностью занят разными числми....а на диагонали стоят нули....я просто придумать не могу как реализовать это.
может у кого-то пример есть похожий...помогите, плиз!
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34393375
2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
studen_t....а на диагонали стоят нули.... " и тишина".... А если серьёзно, то тебе уже сказали: создавай таблицу любой размерности, потом заполняй ее как хочется . Она и будет у тебя источником для грида.
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34393484
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача на уровне первой недели первого семестра занятий.
Что тут неясного.
как создать таблицу ?
как заполнить ?
как указать гриду источник ?

Вы хоть что-то сделали ?
Или как в том анекдоте про мужика, который обижался что бог не помог ему выиграть в лотерею , а он даже и билетик не купил.
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34395740
studen_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снова я))..читал долго хелп..но все-таки помогите.
Правильно -=AlexiS=- Задача на уровне первой недели первого семестра занятий.)) можно так сказать...
вот сидел ковырялся пару часов...не могу понять как сделать чтоб столбцы в таблице создавались в массиве и сами назывались(пример s_1, s_2)..а затем сами заполнялись числами. и возможно ли вообще создать такое название столбца в массиве?!?
вот ч ё придумал...

переменную razmer вводим.

CREATE TABLE Random (stolbec N(3))
SELECT random

FOR nItem = 1 TO razmer
ALTER TABLE random ADD COLUMN stolbec N(3)

APPEND BLANK
REPLACE s1 WITH 1 + 100 * RAND( ) && Insert random values
ENDFOR




-------
знаю что тут не правильно
но если строку
ALTER TABLE random ADD COLUMN stolbec N(3)
вынуть из массива все работает...
ПОМОГИТЕ! пожалуйста
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34396656
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не все-таки пятница есть пятница
читал долго хелп
я тоже читал пост - много и весело смеялся.
Аффтар - пиши исчо !
создавались в массиве
- это как , может все-таки в цикле ?
и сами назывались(пример s_1, s_2)..а затем сами заполнялись числами
Эх а хорошо-бы чтобы и программы сами писались.
Ф десятке и не .....
Напоминает "Вечера на хуторе ..." - там вареники тоже сами в сметану макались и в рот прыгали


CREATE TABLE Random (stolbec N(3))
SELECT random

FOR nItem = 1 TO razmer
ALTER TABLE random ADD COLUMN stolbec N(3)


Это как понимать - Вы пытаетесь добавить уже существующий столбец в таблицу , думаю фокс ругаеться на это - я бы тоже на его месте это делал (причем матом)

APPEND BLANK
REPLACE s1 WITH 1 + 100 * RAND( ) && Insert random values


Что-то я не наблюдаю в вашей таблице такого поля s1 - думаю что матерные слова со стороны фокса также присутствуют.

но если строку
ALTER TABLE random ADD COLUMN stolbec N(3)
вынуть из массива все работает...
Не , ежели из массива ее вынуть тогда оно канешна даааа...
"Не верю " как говорил г-н Станиславский своей жене , когда она приходила домой утром и говорила что ходила на кружок кройки и шитья.
Дык вот я тоже не верю , поскольку работать не может в принципе из-за отсутствия поля s1.
Ну а насчет соответствия функционала поставленной задаче - просто молчу...

Итак "дадагой ИА " (С "Вини-Пух").
Что бы все таки я сделал на Вашем месте.
1. Все-же стал бы ходить на лекции и начал-бы учиться.
2.Прочитал-бы хотя-бы одну книгу по Базам данных и по фоксу.
3.Читал бы все-таки хелп , и думал над тем что-же написано
кстати если напряг с английским - тут есть на русском.

Касательно этой задачи
1.Этап - создаем хранилище данных
Создавать таблицу необязательно
Можно создать курсор - причем я бы делал это
Create cursor FROM ARRAY
Поскольку у вас количество колонок динамически меняеться- это удобно
в массив в цикле вы заполняете "структурой" и все ОК.
Хотя в принципе можно создать курсор с заведомо "большИм" количеством столбцов и просто не показывать их в гриде.
Как вариант строку создания курсора можно "склеить" в цикле и потом выполняем через макроподстановку.
Ну и через ALTER тоже можно - но только ради бога- прочитайте хелп повнимательней
2.Этап - Заполняем данные
Тут все достаточно просто - 2 вложенных цикла
по строкам - добавление строки
по столбцам - заполнение столбцов
кстати - диагональные элементы - это те у которых счетчики циклов одинаковы - надеюсь намек понят
3. Этап обновляем грид.
В зависимости от того как и когда был создан грид и курсор вариантов может быть несколько
В простейшем случае это
grid.RecordSource=''
grid.RecordSource='Курсор'
grid.Refresh

Кстати - в поставке фокса есть примеры- посмотрите их - там очень много "полезностей"
Ну и на фоксклубе тоже есть масса всякого.
Ну и Первые шаги тоже будут в помощь.

Короче говоря - "Пилите гири Шура , они золотые"
Всем приятных выходных
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34396776
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LOCAL nRows, nColumns

lcVerb='CREATE TABLE Random ('
FOR lnI=1 TO nColumns
lcVerb=lcVerb+'Stolbec'+ALLTRIM(STR(lnI))+' N(3),'
ENDFOR
lcVerb=SUBSTR(lcVerb,1,RAT(',',lcVerb)-1)+')'
?lcVerb
&lcVerb

SELECT Random

FOR lnI = 1 TO nRows
APPEND BLANK
FOR lnJ=1 TO nColumns
lcVerb='REPLACE '+'Stolbec'+ALLTRIM(STR(lnJ))+' WITH 1 + 100 * RAND( )' && Insert random values
&lcVerb
ENDFOR


ENDFOR
...
Рейтинг: 0 / 0
GRID..почему так сложно...
    #34397543
studen_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, Dag ! Помог офигенно!
p.s. появился стимул изучать Фокс)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GRID..почему так сложно...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]