Страницы: 1
RSS
Быстрый вывод значений (VBA)
 
Друзья, прошу помощи.
Имеется небольшое приложение (не сочтите за труд скачать, пожалуйста, Здесь, или Здесь). Выкладываю в обменники, т.к. файл содержит массивы чисел и весил 292 Кб.
Без самих баз не смогу спросить, что требуется... показать полученный результат.

Суть приложения такова.
Пользователь из списка на листе "Вывод результата" выбирает один из массивов (F0-F5) или все сразу, нажимает на кнопку.
Приложение спрашивает, какое значение искать. Пользователь должен ввести дробное число из интервала 1-2 (для листов F0-F4) включительно, 1-3 (для всех листов и листа F5). На самом деле какое бы количество знаков не ввёл пользователь, число будет округляться до 2-х знаков после запятой.
Дальше приложение начинает искать это число.

Здесь, наверное, надо немного пояснений по коду.
1. На каждом из листов массивы сидят в одном и том же диапазоне:
Код
Range(Cells(3, 2), Cells(103, 102)) 

2. Вторая строка и первый столбец содержат, как бы координаты в десятичной системе.
3. В результате работы кода я вывожу вот такие значения:
Цитата
Debug.Print ("На листе " & "F" & PointPerebor & ", ячейка " & iFoundRng.Row & ": " & iFoundRng.Column & " c координатой " & _
                   ActiveSheet.Cells(iFoundRng.Row, 1).Value & " : " & ActiveSheet.Cells(2, iFoundRng.Column).Value)
Например, Debug мне выписывает: На листе F4, ячейка 25: 24 c координатой 1,22 : 1,22

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

Дк вот... мой вопрос:
Очень нужно теперь аккуратненько вывести это на лист "Вывод результата"
В коде заложена очистка при каждом исполнении строк с 5 по 11000 (удаляем их кодом:
Код
Rows("5:11000").Select
        Selection.Delete Shift:=xlUp

Вот и получается, что нужно выводить начиная с пятой строки 5 столбов:
1) Наименование массива, где найдено число (F0-F5);
2) Номер строки с ячейкой с подходящим значением;
3) Номер столбца с ячейкой с подходящим значением;
4) Строчную координату, которая прописывается в первом столбце на каждом листе;
5) Столбовую координату, которая прописывается во второй столбце на каждом листе;


Вроде как ... нет проблем... какая беда...
есть и переменная "kolvoznacheniy", которая наращивается по мере нахождения нужного значения.
Бери, казалось бы, в качестве координаты её (переменную) и начинай выводить 5 столбцов.
Но вот очень долгий процесс получается.
А вот, например, если пользователь захочет вывести "1) по всем таблицам, то там этих значений очень много.
Долго....
(Понятно, что по итогу написания программы, я отключу визуализацию.)

Помогите, пожалуйста, дописать код, чтобы всё это максимально быстро выводилось.
Мне это очень нужно, т.к. это лишь часть кода.... а таких прогонов по массивам, я буду делать десятки.

Спасибо.
Изменено: Kirill Gureev - 23.09.2016 22:42:25
 
Чисто теоретически.
Забирайте в массив значения из диапазонов, например
arr1 = Range("A1:A10").Value
обрабатывайте массив кодом и выгружайте на лист конструкцией, типа
Range("A1").Resize(...) = arr1
З.Ы. Вместо каких-то "приложений" покажите Ваш код. Хотя-бы
Согласие есть продукт при полном непротивлении сторон
 
Код в студию....
Код
Sub Perebor()
 Dim MSGForInputBox As String 'переменная формирует текст для Application.InputBox
 Dim vRetVal 'для получения выбранного значения с формы Application.InputBox и перевода в Znacheniye
 Dim currentwsh As Object 'Храним текущий лист
 Dim kolvoznacheniy As Integer
 Dim Znacheniye As Double 'переменная отлавливает введённое пользователем значение (берёт с vRetVal)
 Dim iFoundRng As Range 'переменная ищет ячейку с нужным значением
 Dim StartPoint, EndPoint, StepPoint, PointPerebor As Integer
 
    'запрос числа - Type:=1
    'возвращает число. Не даст ввести текст, выдав сообщение об ошибке
    Set currentwsh = ActiveWorkbook.ActiveSheet
    If ((ActiveSheet.Cells(2, 1).Value = "F5") Or (ActiveSheet.Cells(2, 1).Value = "F4") Or (ActiveSheet.Cells(2, 1).Value = "F3") Or _
        (ActiveSheet.Cells(2, 1).Value = "F2") Or (ActiveSheet.Cells(2, 1).Value = "F1") Or (ActiveSheet.Cells(2, 1).Value = "F0") Or _
        (ActiveSheet.Cells(2, 1).Value = "ВСЕ")) Then
        'обработаем базовое сообщение для Application.InputBox
        MSGForInputBox = "Укажите число в диапазоне от 1 до 2"
        If ((ActiveSheet.Cells(2, 1).Value = "F5") Or (ActiveSheet.Cells(2, 1).Value = "ВСЕ")) _
            Then: MSGForInputBox = "Укажите число в диапазоне от 1 до 3"

AA:     vRetVal = Application.InputBox(MSGForInputBox, "Запрос данных", "", Type:=1)
        Znacheniye = vRetVal
        'проведём дополнительную проверку корретности ввода значения
        If (((Znacheniye < 1) Or (Znacheniye > 2)) And (ActiveSheet.Cells(2, 1).Value <> "F5")) Then: GoTo AA
        If (((Znacheniye < 1) Or (Znacheniye > 3)) And (ActiveSheet.Cells(2, 1).Value = "F5")) Then: GoTo AA
        'округлим корректно введённое значение до 2-х знаков после зяпятой
        Znacheniye = Format(Znacheniye, "#,##0.00")
        Znacheniye = Round(Znacheniye, 2)
        Debug.Print ("Будет осуществлён поиск значения " & Znacheniye)
        
        'Очистим после со хначения для вывода новых
        Rows("5:11000").Select
        Selection.Delete Shift:=xlUp
        ActiveSheet.Cells(2, 1).Select
        kolvoznacheniy = 0
        
        'создаём перебор, где в зависимости от выбора перебираются либо все листы, либо какой-то конкретный
        If ActiveSheet.Cells(2, 1).Value <> "ВСЕ" Then
            StartPoint = CInt(Right(ActiveSheet.Cells(2, 1).Value, 1))
            EndPoinr = CInt(Right(ActiveSheet.Cells(2, 1).Value, 1))
            StepPoint = 1
        Else
            StartPoint = 0
            EndPoinr = 5
            StepPoint = 1
        End If
        
        'ищем конкретное значение на одном или всех листах
        For PointPerebor = StartPoint To EndPoinr Step StepPoint
            'активируем нужный лист
            ActiveWorkbook.Sheets("F" & PointPerebor).Activate
            With ActiveSheet.Range(Cells(3, 2), Cells(103, 102)) 'берём диапазон, в котором искать
            Set iFoundRng = .Find(What:=Znacheniye, LookIn:=xlValues) 'задаём поиск
            If Not iFoundRng Is Nothing Then
                firstAddress = iFoundRng.Address 'указываем ячейку с началом поиска
                Do
                    Debug.Print ("На листе " & "F" & PointPerebor & ", ячейка " & iFoundRng.Row & ": " & iFoundRng.Column & " c координатой " & _
                    ActiveSheet.Cells(iFoundRng.Row, 1).Value & " : " & ActiveSheet.Cells(2, iFoundRng.Column).Value)
                    kolvoznacheniy = kolvoznacheniy + 1
                    Set iFoundRng = .FindNext(iFoundRng)
                Loop While Not iFoundRng Is Nothing And iFoundRng.Address <> firstAddress
            Else
                'Debug.Print "Не найдено."
            End If
            End With
        Next PointPerebor
        
        Debug.Print ("Всего найдено " & kolvoznacheniy & " значений")
        'вернулись на исходную
        currentwsh.Activate
        ActiveSheet.Cells(2, 1).Select
    Else
        MsgBox ("Вы ничего не Выбрали - макрос остановлен")
        Exit Sub
    End If
    
End Sub


Для корректной работы поиска в данном примере кода требуется проделать некоторые действия:
1. Ввести константу в блоке объявления переменных (после вот этой строки
Код
Dim StartPoint, EndPoint, StepPoint, PointPerebor As Integer
) такой строкой:
Код
Const AmericanDecimalSeparator = "."


2. Обязательно осуществлять поиск по текстовому значению, используя предварительную обработку кода вот такой строкой:
Код
ZnacheniyeLikeText = Replace(CStr(Format(Znacheniye, "#,##0.00")), Application.DecimalSeparator, AmericanDecimalSeparator)


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

Полный вариант поиска с правками и "топорным" выводом значений на лист выглядит так:
Скрытый текст
Изменено: Kirill Gureev - 25.09.2016 19:23:35 (найдена существенная ошибка в части кода про Find)
 
Kirill Gureev, однозначно, откройте для себя мир МАССИВОВ (а далее словарей/коллекций). Все тормоза из-за перебора ячеек. На массивах раз в 50 будет быстрее
Согласие есть продукт при полном непротивлении сторон
 
Ну помогите, на примере, пожалуйста.
Я пытался, но туплю....
При этом и разницы не понимаю массивов/словарей/ коллекций.
Всё на английском.... разбирать сложно...
Помогите, если не затруднит, пожалуйста вот на это примере.

Спасибо.
 
Размер диапазона поиска 100х100?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
Размер диапазона поиска 100х100?
101 на 101
 
Цитата
Kirill Gureev написал: Без самих баз не смогу спросить, что требуется... показать полученный результат.
Kirill Gureev если вы не можете спросить - т.е. понять свою проблему и сделать под неё пример на несколько строк!!! = ЗНАЧИТ вы знать не знали и знать не хотели и нафиг не важно, что там не работает... правьте за вас всё!.. неужели вы до сих пор думаете, что это надо кому-либо кроме вас...  :(
Цитата
Kirill Gureev написал: Ну помогите, на примере, пожалуйста..... При этом и разницы не понимаю массивов/словарей/ коллекций.
... если хотите продолжать в том же духе - автоматизировать свой проект макросами - ТО придётся разбираться!.. уже давно пора, много вопросов отпало бы... вы спрАшивайте по тому, что НЕ понимаете в этих массивах/словарях/коллекциях!... (прежде посмотрите примеры их использования через Поиск - может и вопросы отпадут) и ПОшагово добавляйте свои новые знания в свой проект... а не всех планетян добавляйте в список читателей всего вашего творения... ну, действительно, уже слов давно не хватает - вы не хотите разбираться со своими проблемами и всё время просите полные решения за вас по всему безумию, известному только вам - это в Раздел Работа!!!.. ИЛИ берите гайки и шурупы, свой Боинг конструируйте сами!.. путь осилит идущий... ответ в #2 и #4 - вы даже НЕ пробуете применить, а снова Ну-каете о помощи [хотя просите не помощь, а сделать всё за вас] о том, с чем ДО сих пор просто не хотите разобраться... Ну-кать не надо, берите и делайте - если не хотите понимать за столько!! времени весь vba, чтобы сделать самому - альтернативный раздел уже знаете...
p.s. если бы это была первая ваша ветка - наверное, промолчала бы... но у вас каждый раз одна и та же проблема - вам ответы либо не подходят, либо вы даже не собираетесь их применять, а выпрашиваете готовое решение чужими руками снова... Рабочие Руки - дорогое удовольствие!.. особенно, когда они свои... оплатите временем, вложенным на понимание, - поймёте, в какую цену обойдуться вам ВАШИ руки  :)
Изменено: JeyCi - 24.09.2016 09:06:30
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
JeyCi написал: оплатите временем, вложенным на понимание, - поймёте, в какую цену обойдуться вам ВАШИ руки  
Золотые слова!

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Kirill Gureev, я согласен с JeyCi,
Если Вы собираетесь и дальше заниматься автоматизацией своих задач, то на выпрашивании готовых решений далеко не уедете. Обложитесь учебниками, потратьте на САМОразвитие СВОЕ время. То, до чего додумался сам, остается на всю жизнь. Плюс щенячий восторг от новых знаний и САМОСТОЯТЕЛЬНО решенных задач.
Тем более
Цитата
Kirill Gureev написал: Мне это очень нужно, т.к. это лишь часть кода.... а таких прогонов по массивам, я буду делать десятки
Собираетесь еще десятки раз обращаться за помощью?
Со скуки я сделал Вам (Ваш) пример. Пришлось полностью переделать Ваш код.
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Sanja, спасибо Вам за Ваш пример.
Суть такой выгрузки понятна, использование массивов тоже понятно.
Если Вам интересно, то я немного поправил Ваш код...
Скрытый текст

И сделал несколько примеров для других пользователей, кто столь же неопытен, как и я.
Может Вам будет интересно посмотреть файл (файл грузится какое-то время, т.к. на этапе запуска прогружаются базы в массив)
ВАШ вариант, там под номером 3.

Пример 4 интересен тем, что все массивы погружаются на этапе запуска файла и работа получается ещё быстрее.

У меня остался один вопрос по такой выгрузке, которую делали Вы.
Вы сформировали цельную строчку и пустили её циклом строкой:
Код
curSh.Range("A5").Resize(UBound(arrRez) + 1, 1) = Application.Transpose(arrRez)

Мой вопрос... а что делать, если нужно 5 столбцов одинаковой длины?
Конечно, я поступил топорно, создав 5 массивов:
Код
arrResult_F(K) = arrSh(i)
arrResult_Row(K) = Stroka + 2
arrResult_Column(K) = Stolbec + 1
arrResult_Row_k(K) = .Cells(Stroka + 2, 1)
arrResult_Column_k(K) = .Cells(2, Stolbec + 1)

И аналогичным образом выгрузил их.

Вопросы не по теме удалены [МОДЕРАТОР]
Изменено: Kirill Gureev - 25.09.2016 19:58:26 (поправил ссылку на файл)
 
Посмотрел Ваш файл
- для корректного хронометража таймер нужно запускать ПОСЛЕ ввода пользователем искомого значения. Поправьте Ваши варианты и сравните время. Ваш вариант4 у меня вообще не сработал
- почему Вы упорно продолжаете делать кучу лишних телодвижений по проверке/корректировке/опять проверке/форматировании/проверке/.../ введенного пользователем значения? Чем мой вариант не устроил?
- зачем вместо ОЧИСТКИ диапазона Вы удаляете строки? От этого время исполнения только увеличивается
- ну и классика жанра
SELECT И ACTIVATE - ЗАЧЕМ НУЖНЫ И НУЖНЫ ЛИ?
Про многомерные массивы много чего есть в интенетах. Для Вашего примера можно так
Скрытый текст

Про вставку через одну/две строки не понял
Изменено: Sanja - 25.09.2016 16:37:58
Согласие есть продукт при полном непротивлении сторон
 
Попробовал Ваш вариант. Ожидал прироста скорости, но его не произошло... (существенного, по крайней мере).
Цитата
Sanja написал: - для корректного хронометража таймер нужно запускать ПОСЛЕ
С этим полностью согласен, существенный комментарий, спасибо.
Цитата
Sanja написал: - почему Вы упорно продолжаете делать кучу лишних телодвижений по проверке/корректировке/опять проверке/форматировании/проверке/.../ введенного пользователем значения? Чем мой вариант не устроил?
Не обижайтесь, пожалуйста, я же учусь и делаю эксперимент.
Эти куски кода скопированы с примеров, где поиск производился через Fimd. На самом деле эксперименты показали, что потерь времени существенных за счёт этого нет.
Цитата
Sanja написал: - зачем вместо ОЧИСТКИ диапазона Вы удаляете строки? От этого время исполнения только увеличивается
А вот здесь встречный вопрос... очистка предполагает удаление значений и всё. А вот если пользователь вывел данные, решил поработать с использованием какого-то форматирования, наставил границ, цветов и т.д.,  то поможет ли в этом случае очистка контента? НЕТ. Именно по этой причине я предпочитаю просто удалять строки. Может есть какой-то иной способ? Именно чтобы форматирование полностью также чистилось? (хотя вопрос не в эту ветку)

Цитата
Sanja написал:  SELECT И ACTIVATE - ЗАЧЕМ НУЖНЫ И НУЖНЫ ЛИ?
Это я конечно немедленно прочитаю. Ну я использовал для того, чтобы удалять строки вместо очистки. У меня просто оказывался чистить (удалять) без активации листа. Ну и так... интуитивно... Но после Вашей ссылки, полагаю, буду делать это более разумно.
Цитата
Sanja написал:
Про многомерные массивы много чего есть в интенетах. Для Вашего примера можно так
Существенного прироста скорости не дало, но спасибо за разъяснения.

Цитата
Sanja написал: Ваш вариант4 у меня вообще не сработал
Вообще оказалась интересная история.
Когда пользователь залазит в Макрос и начинает что-то править, то после перехода к исполнению прогруженные на этапе открытия файла массивы теряются. Не знал. Полезная информация. В результате, пришлось сделать дополнительную проверку. Т.е. теперь, при запуске макроса, проводится проверка по первому значению, а если базы потерялись, то предлагается один раз их заново прогрузить.
Выложил правленный файл

Цитата
Sanja написал: Про вставку через одну/две строки не понял
Попробую переформулировать....
Что мы с Вами фактически делаем... выделяем конкретную ячейку и изменяем размер выделения в зависимости от размера массива (если я правильно понял). А если у пользователя возникает необходимость вставить не в каждую строку от указанной (подряд), а через строчку, например.
Ну т.е. я, допустим, захочу вывести значения не в строках 5, 6, 7, 8 и т.д., а в строках 5, 7, 9, 11 и т.д. Т.е. через одну строчку... или, например через 2, т.е. в 5, 8, 11, 14 и т.д.
Изменено: Kirill Gureev - 25.09.2016 20:02:59
 
Цитата
Kirill Gureev написал: удаление значений и всё
.ClearContents
Цитата
Kirill Gureev написал:  с использованием какого-то форматирования, наставил границ, цветов и т.д.,  то поможет ли в этом случае очистка контента? НЕТ.
ДА .Clear (без Contents)
Цитата
Kirill Gureev написал: эксперименты показали, что потерь времени существенных за счёт этого нет.
увеличьте кол-во обрабатываемых строк - и тестируйте на больших выборках - ради чистоты эксперимента!.. - вывод будет другой
Изменено: JeyCi - 25.09.2016 19:42:07
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
Kirill Gureev написал: Не обижайтесь, пожалуйста..
:) какие обиды, Вы о чем? :)
Цитата
Kirill Gureev написал: ...очистка предполагает удаление значений и всё. А вот если пользователь....
Да я не против. Таких "если" может быть сколько угодно и каких угодно. В таком случае еще совет
При непосредственной работе с ячейками листа (удаление/копирование/вставка/перемещение и проч) отключайте обновление экрана а в конце включайте
Код
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Согласие есть продукт при полном непротивлении сторон
 
JeyCi, чуть опередила. У Вас наверняка не 386-й IBM PC/XT. Неужели Вы думаете что на матрицах 100х100, да на современном железе разница будет в секунды? Даже в миллисекунды? Увеличьте размер, хотя-бы до десятков тысяч...
Согласие есть продукт при полном непротивлении сторон
 
Цитата
JeyCi написал: увеличьте кол-во обрабатываемых строк
Цитата
Sanja написал: Увеличьте размер, хотя-бы до десятков тысяч...
Уверен, что Вы правы. Просто пока в силу этапности решения задачи нет такой возможности.
Вот позже, когда буду обрабатывать десятки и сотни, то конечно же попробую.

Цитата
JeyCi написал: ДА .Clear (без Contents)
Попробовал... действительно, работает! Спасибо.
 
Цитата
Kirill Gureev написал: Просто пока в силу этапности решения задачи
не обязательно для этой задачи... просто берите на заметку... чтобы не привыкать кодировать не совсем оптимально... рано или поздно вылезет боком (на других задачах, например, вылезет)... лучше сразу учиться правильно... и не терять времени Потом на поиски лУчших решений... успехов
p.s. учитесь верить на слово  ;) ... рекомендаций вам от Sanja - это тоже касается
Изменено: JeyCi - 25.09.2016 20:08:48
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
JeyCi, Вот Вы меня всегда ругаете, что я, вроде как, не читаю документацию.
Но вот простой пример. Запрашиваем в Яндексе "vba application",  идём по первой ссылке.
Начинаем читать, вроде как по теме... ну нет на той странице упоминания о "Transpose".
И вот как мне, самоучке, узнать о существовании такой вещи, как не спросить у Вас профессионалов...

Зря Вы так новичков бьёте ))
 
Цитата
Kirill Gureev написал: Вот Вы меня всегда ругаете
никогда... просто констатирую факты... как в программировании - работаем только с фактическим материалом... будут другие факты - будут другие выводы
p.s. вы, видимо, не читаете слова, в которых я всегда желала вам успехов  ;)
... когда перестанете видеть лишь "чёрное" и во всех постах от всех планетян начнёте видеть Рекомендации (а не ругательства) и Применять их - поверьте, ваша жизнь изменится  :)
Изменено: JeyCi - 25.09.2016 20:16:41
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
JeyCi написал:
p.s. вы, видимо, не читаете слова, в которых я всегда желала вам успехов   - когда перестанете видеть лишь "чёрное" и во всех постах от всех планетян начнёте видеть рекомендации и Применять их - поверьте, ваша жизнь изменится  
Спасибо большое... а вот по факту... где новичку читать исчерпывающий материал? Может есть рекомендация (желательно на русском). Спасибо.

Поскольку боюсь, что вопрос потеряется, то дублирую в этом сообщении...
Цитата
Sanja написал: Про вставку через одну/две строки не понял
Попробую переформулировать....
Что мы с Вами фактически делаем... выделяем конкретную ячейку и изменяем размер выделения в зависимости от размера массива (если я правильно понял). А если у пользователя возникает необходимость вставить не в каждую строку от указанной (подряд), а через строчку, например.
Ну т.е. я, допустим, захочу вывести значения не в строках 5, 6, 7, 8 и т.д., а в строках 5, 7, 9, 11 и т.д. Т.е. через одну строчку... или, например через 2, т.е. в 5, 8, 11, 14 и т.д.
 
Цитата
Kirill Gureev написал:
если у пользователя возникает необходимость вставить не в каждую строку
Вариант. Забивайте в массив/массивы пустые значения или меняйте шаг заполнения массива  
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Kirill Gureev написал: где новичку читать исчерпывающий материал?
чтивом кода не написать - надо Себе составлять тех.задание и искать Наилучший способ его реализации - который понравиться себе самому... к которому не подкопаться (НИ вам, НИ вашему компьютеру, НИ вашим дальнейшим планам, НИ желательно ещё спецам в области программирования - до последнего долгий путь), согласно своей логике... новыми нюансами и новым профессионализмом всё обрастёт со временем... любить изящность и стройность кодов... и создавать их такими для себя... помогать другим (когда интересные задачи встречаются)... вобщем делать только то, что нравится, и в этом стремиться к совершенству... - это самая мощная внутренняя мотивация, которая всегда приведёт к победе... просто Красивой победе - прежде всего над собой... и Автоматически - к результатам - нужным вам... а чтиво и др. - это лишь средства, но не цель...
считаю, свои собственные поиски и живой диалог, когда надо что-то уточнить в своём понимании, - дадут больше пользы...
поэтому  Форум, Поисковик и свои попытки (иногда на чужих задачах, которые казались проще моих, но для отработки навыков работы с тем или иным элементом, инструментом, подходом) - мне этого было достаточно, когда начинала с нуля... и вам желаю того же
p.s. только выводы всегда Должны быть кристально прозрачными, полными и истинными (из любых ваших экспериментов - для этого к экспериментам лучше подойти всеобъемлюще) - чтобы один раз поковырять - и пользы немерено на всю программистскую жизнь (и никаких иллюзий)... или в раздел Работа  :) (иначе зачем тратить своё время, чтобы опять недопонять до конца) - лучше сразу отдать спецам ... сэкономите своё время
Верный вывод (из любого своего шага) - и очередной шаг вперёд - планируемый Только вами.... вместо хаотичного или досконально построчного чтения ресурсов... ваш главный ресурс - Вы сами... Знать Чего хотите - и Реализовывать Это для себя... никто лучше вас этого не сделает (реализует ваши потребности для вас) в своё время!
Изменено: JeyCi - 26.09.2016 07:31:23
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
Sanja написал:
Вариант. Забивайте в массив/массивы пустые значения или меняйте шаг заполнения массива
ГЕНИАЛЬНО!!!! ТОЧНО!!!! Спасибо!!!
Страницы: 1
Читают тему
Наверх