Имя: Пароль:
IT
 
Delphi приложение без формы.
,
0 CepeLLlka
 
30.09.13
08:36
Ребята.. я не умею в делфи ничего.. ща буду по гайдам делать небольшую фигню..
Подскажите пожалуйста..
Как мне создать приложение чтобы не было формы, чтобы оно просто выполнилось 1 раз и закрылось..?
1 skunk
 
30.09.13
08:39
там вроде выбираешь проект ... консольное приложение ... и он все сделает как надо
2 Ненавижу 1С
 
гуру
30.09.13
08:40
(1) а окно консоли?
3 CepeLLlka
 
30.09.13
08:41
У меня нет такого выбора :(
Есть только CLX Apllication
4 Rie
 
30.09.13
08:42
(0) Не обязательно консольный. Можешь просто создать проект - и _не_ создавать формы.
5 Rie
 
30.09.13
08:43
(3) Выкинь бяку. Используй более другие инструменты. Аналогов Delphi под линухами - их есть.
6 skunk
 
30.09.13
08:44
(2)я так понимаю, что выводить он все таки что-то должен ...
7 CepeLLlka
 
30.09.13
08:45
(4)Так она сразу создаётся же..
Удалить её? :) И ещё я не знаю в какой процедуре типа писать, если нет формы..
В форме можно же типа в "ПриОткрытии" написать всё что мне надо..а тут то как?
8 Ненавижу 1С
 
гуру
30.09.13
08:46
(7) там есть аналог модуля приложения, где собственно и создаются эти формы
9 CepeLLlka
 
30.09.13
08:46
Да я бы в CMD/BAT написал бы.. но там нет массива, и поиска по массиву..
А мне всего-лишь надо создать массив, занести в него данные постоянные..
А потом проверять, есть ли в каталоге файлы с наименованиями как в массиве и менять имя файла в зависимости от исходного..
10 CepeLLlka
 
30.09.13
08:46
(7)Есть.. это Project1
11 Rie
 
30.09.13
08:48
(7) Файл проекта открываешь. CreateForm - удаляешь. Наслаждаешься результатом.
12 CepeLLlka
 
30.09.13
08:49
(11)Спс..
Ща буду пробывать.. заходите на огонёк ко мне сюда :)
13 Кирпич
 
30.09.13
08:49
program Project1;

uses
  SysUtils;

begin
   //здесь пиши что тебе надо
end.
14 Rie
 
30.09.13
08:49
(Честно говоря - не понимаю, зачем использовать инструменты, которыми не умеешь пользоваться...)
15 spectre1978
 
30.09.13
08:49
(9) можно VBS скрипт написать. Обработка происходит абсолютно молча, можно даже консольные окна спрятать если какие-то приложения запускаешь
16 spectre1978
 
30.09.13
08:49
+ (9) массивы есть и масса всего прочего, и никаких дельфей не надо
17 План счетов
 
30.09.13
08:51
Используй: http://autoit-script.ru/
18 Rie
 
30.09.13
08:54
(9) Честно говоря, не понял. Если это в Windows - то зачем использовать CLX?
19 spectre1978
 
30.09.13
08:55
(18) честно говоря, я не знаю зачем тут дельфя. Из пушки по воробьям. Скриптами такие вещи всегда делались
20 CepeLLlka
 
30.09.13
08:55
(18)Да я не юзаю CLX... про CLX это был ответ на то, что у меня нет выбора - Console Application... а есть только CLX
21 VladZ
 
30.09.13
08:56
(14) Есть такие люди, которые создают себе трудности. И борятся с ними...
22 CepeLLlka
 
30.09.13
08:56
(19)ну как бы с VBS я вобще не знаком.. а про делфи пару видеоуроков глядел.. :)
23 ЧеловекДуши
 
30.09.13
08:56
(0)Дарю, обработку без формы :)
Delphi 6
http://yadi.sk/d/r3GbWMa7A8FFF
24 CepeLLlka
 
30.09.13
08:57
(14)Ок.. а если я ничем не умею пользоваться.. а мне надо сделать? Мне что не делать теперь? Что вы как маленькие.. сами прекрасно всё знаете, что каждый день приходится узнавать что-то новое..
25 CepeLLlka
 
30.09.13
09:00
(13) Спс
26 spectre1978
 
30.09.13
09:02
(22) там не трудно, это ж бейсик. У меня как раз подобные задачи когда по админке стали возникать - файло там какое по-хитрому найти и сархивировать, еще чего - за полдня разобрался, сразу и написал чего нужно.
27 Rie
 
30.09.13
09:02
(22) Офигеть... VBS - _проще_ Delphi. И _более адекватен_ задаче.
Ты ещё по "Армагеддону" бы поучился космические корабли пилотировать...
28 Rie
 
30.09.13
09:04
+(27) Выбирай инструмент по задаче. Прежде чем чего-то писать - познакомься, какие инструменты для таких задач имеются. А не "пару видеоуроков".
Всем нам приходится работать с _разными_ системами. Каждая из которых - для своих задач. И умение их выбирать - оно крайне необходимо.
29 spectre1978
 
30.09.13
09:05
+ (22) и еще один плюс VBS - скриптов готовых в сети полно на все случаи жизни, гуглятся запросто. Только успевай копипастить себе.
30 skunk
 
30.09.13
09:05
(28)я по винг командеру учился ... правда не знаю насколько реально освоил )))
31 sikuda
 
30.09.13
09:08
(0) Автор раскрой задачу. (27) Delphi старый инструмент не советую.
32 ЧеловекДуши
 
30.09.13
09:08
33 CepeLLlka
 
30.09.13
09:09
Ок ок :) Ребята.. уговорили.. пойду гуглить про VBS

(31) Задача раксрыта в (9)
34 Rie
 
30.09.13
09:10
(31) Да ну, старый... Реально работающий. Но для данной задачи - я его тоже не советую.
35 spectre1978
 
30.09.13
09:11
(34) +100500
36 CepeLLlka
 
30.09.13
09:12
Можно было бы обработку из 1С в винде запускать.. не нужно было бы ничё :)
37 spectre1978
 
30.09.13
09:12
(33) набери в яндексе "vbs поиск файла". Узнаешь много интересного
38 Rie
 
30.09.13
09:13
(30) Я учился на ОС "Диспак", ОС ЕС и MCP :-)
И - каюсь - их до конца не освоил. Поскольку они устарели ещё до того :-)
39 dmpl
 
30.09.13
09:13
А VBS уже научился с БД работать? В (9) есть что-то про постоянный массив - не факт что массив будет неизменен во веки веков, или, более того, не потребуется обновлять этот массив по итогам обработки...
40 spectre1978
 
30.09.13
09:14
(39) умеет через ADO. Делал.
41 spectre1978
 
30.09.13
09:15
(39) могу даже исходняк показать
42 skunk
 
30.09.13
09:15
(31)хера себе старая ... ХЕ5 вышла 11.09.2013
43 Rie
 
30.09.13
09:15
(36) Вот сейчас ты умные слова сказал! Если знаешь "1С" - то и используй "1С". Твоя задача - решить задачу. Какими средствами... Оптимизировать решение потом будешь. Сначала - реши.
44 spectre1978
 
30.09.13
09:17
(39) не знаю как насчет "научился", по-моему он всегда умел с COM-объектами работать. А через них можно делать практически все. Хоть XML, хоть БД, хоть черта лысого.
45 Rie
 
30.09.13
09:17
+(43) А обработку из 1С - запустить можно. Но, похоже, ты и 1С не знаешь... Печально...
46 skunk
 
30.09.13
09:18
47 skunk
 
30.09.13
09:19
кстати ходят слухи, что дельфи теперь наш родной российский продукт ... и типа его ведут разработчики из офиса расположенного в Санкт-Петербурге
48 Rie
 
30.09.13
09:19
(44) Дык.. На мой непросвещённый взляд - как раз в этом-то и прикол, что умеет (и всю жизнь умел) работать.
49 mzelensky
 
30.09.13
09:20
(0) при открытии формы просто пишешь Форма.Скрыть
Выполняешь все сви действия и потом просто закрываешь приложение (через Форма.Закрыть)
50 Rie
 
30.09.13
09:20
(47) Интересно. А подробности - есть? А то б можно было с ребятами связаться...
51 mzelensky
 
30.09.13
09:21
(47) А чего это он стал Российским, если он мелкософту принадлежит? Или я чет пропустил?
52 skunk
 
30.09.13
09:22
(48)а разве не с версии 5.0 он начал поддерживать сом?
53 skunk
 
30.09.13
09:23
(51)он и близко никогда Майкрософт не принадлежал
54 Rie
 
30.09.13
09:23
(51) Я, видимо, что-то пропустил... С каких пор Delphi принадлежит Microsoft'у?
(Я не шучу, я правда некоторое время не следил за ситуацией. Переход разработчика - это не переход решения).
55 mzelensky
 
30.09.13
09:23
(53) Здрасти, мелкософт давно уже выкупил Борланд.
57 skunk
 
30.09.13
09:24
58 skunk
 
30.09.13
09:24
(55)а ну как подробнее?
59 mzelensky
 
30.09.13
09:26
(55) Не, вру.

В конце 2002 года появились слухи о возможной покупке компании корпорацией Microsoft[2], однако сделка не состоялась, при этом, по неподтверждённым данным, в какой-то момент около 5 % уставного капитала Borland всё-таки принадлежало Microsoft[источник не указан 572 дня].
60 Rie
 
30.09.13
09:26
(52) Виноват. VB(чего-то там) - воспринимаю как VBx. Но суффиксы-то -  разные :-) Вот и...
61 Кирпич
 
30.09.13
09:28
(33) чо там гуглить из за трех строчек
62 mzelensky
 
30.09.13
09:28
(59) там у них еще в 2006 году что-то было...мутное с компанией, кто-то их перекупал
63 Кирпич
 
30.09.13
09:28
+(61)

program Project1;

uses
  SysUtils;

const
  Dir: string = 'c:\temp\';
  FileCount = 4;
var
  names1: array[1..FileCount] of string = ('file1.txt', 'file2.txt', 'file3.txt', 'file4.txt');
  names2: array[1..FileCount] of string = ('_file1.txt', '_file2.txt', '_file3.txt', '_file4.txt');

  i: integer;

begin
  for i := 1 to FileCount do
  begin
    if FileExists(Dir + names1[i]) then
      RenameFile(Dir + names1[i], Dir + names2[i]);
  end;
end.
64 skunk
 
30.09.13
09:30
(59)там не уставной капитал ... а именно часть акций ... говорят с правом голоса, что и заставило(ли) Borland вывести отдел по разработке средств разработки сперва в дочернее подразделение а потом и во все продать ... правда с продать тоже не все понятно ... как CodeGear разрабатывала ... так и разрабатывает ... правда вот владельцы CodeGear поменялись, но Майкрософт владельцем не стала
65 CepeLLlka
 
30.09.13
09:30
(63)Дак я так и хотел.. но они иеня уговаривают делать на VBS :(
66 CepeLLlka
 
30.09.13
09:31
(63)Спасибо тебе..
С этого примера сделаю всё..
С П А С И Б О !
67 skunk
 
30.09.13
09:32
(62)7-го мая 2008 года корпорация Borland объявила о продаже своей дочерней компании CodeGear Embarcadero Technologies
68 skunk
 
30.09.13
09:32
7-го мая 2008 года корпорация Borland объявила о продаже своей дочерней компании CodeGear - Embarcadero Technologies
69 mzelensky
 
30.09.13
09:33
(63) Вот это единственное что меня убивало в Делфи:

"
  FileCount = 4;
var
  names1: array[1..FileCount] of string = ('file1.txt', 'file2.txt', 'file3.txt', 'file4.txt');
"

Хотя можно и динамические массивы замутить :)
70 Кирпич
 
30.09.13
09:36
(69) чо тут такого убийственного?. так же как и во всех других языках.
71 Rie
 
30.09.13
09:36
(69) Извини, укажи, какое слово стояло перед FileCount=4
А динамические массивы на _этой_ основе - замутить не получится.
72 skunk
 
30.09.13
09:37
(71)+100 ... в лучшем случае цепочку объектов
73 CepeLLlka
 
30.09.13
09:40
(71) в (63)Полная версия ж
74 Кирпич
 
30.09.13
09:41
(71) ну можно и динамические массивы использовать. просто они здесь не нужны.
75 Кирпич
 
30.09.13
09:43
+(74) если у автора фиксированный набор имен файлов, накой тут динамические массивы?
76 Rie
 
30.09.13
09:44
(74) Можно. Но дело не в том, что их можно использовать (кстати, синтаксис был бы чуток другой). У меня возникло ощущение, что товарищ, замалчивая кой-какие детали, пытается выдать нечто желаемое за действительное.
77 Кирпич
 
30.09.13
09:46
(76)"товарищ, замалчивая кой-какие детали, пытается выдать нечто желаемое за действительное."

тыж гляди яка ссука :)
78 Rie
 
30.09.13
09:47
(73) Ключевое слово - "const".
79 Rie
 
30.09.13
09:48
(77) Уж извини, но ты и Pascal, и Delphi прекрасно знаешь. И понимаешь, что я имел в виду :-)
80 Кирпич
 
30.09.13
09:49
(79) если честно, я ничего не понял
81 Rie
 
30.09.13
09:54
(80) Там - const. Не знаю, как там в DelphiX (полагаю, что ничего не изменилось), но в предыдущих версиях Borland просто использовал текстовую подстановку "тела" константы (теоретически - абсолютно прав; практически - доходило до фигни полной, когда, к примеру, const X = 1/0;).
Механизм выделения памяти под массивы во фрейме подпрограммы - несколько отличается, в зависимости от того, выделяется ли память константного размера или зависит от чего-то там..
82 mzelensky
 
30.09.13
09:54
(70) убийственно то ,что нужно заранее указывать размерность массива. А знать ее заранее не всегда бывает возможно.
83 mzelensky
 
30.09.13
09:55
(71) С чего бы это "не получится". Очень даже получится...у меня же работает :)
84 Rie
 
30.09.13
09:55
+(81) На самом деле - уже знаю :-) Просто ранее не было повода проверять :-)
85 Rie
 
30.09.13
09:56
(82) Разные алгоритмы выделения памяти.
86 Rie
 
30.09.13
09:57
+(85) Спрошено лично у Вирта, если что :-)
87 mzelensky
 
30.09.13
09:57
(85) Естественно разные, а с чего им быть одинаковыми.
88 Rie
 
30.09.13
10:00
(87) Дружище... Делаю вывод - компиляторов ты не писал. (Это никоим образом не упрёк - все мы пишем те программы, которые нам заказывают. И на самом деле - мой тебе большой респект за многие комменты. Но - не за все).
89 mzelensky
 
30.09.13
10:03
(88) Нет, компиляторов не писал.
90 Rie
 
30.09.13
10:05
Объясняю. Если размер типа известен заранее (ни слова о .NET), то и размер выделяемой на стеке памяти - тоже заранее известен. (И его там можно зафиксировать).
Теперь предположим, что размер массива заранее не известен. В таком случае - два варианта. Либо это размер считывается из параметров (и на стеке выделяется _динамически_ соответствующая область). Либо - чхаем на это глубоко, и все динамические массивы размещаем в куче.
91 Кирпич
 
30.09.13
10:06
(82) А что есть в природе языки которые угадывают размер массива, который тебе понадобится? Ничего тут убийственного. Всё как у всех. Массивы статические, массивы динамические. Хош сам память выделяй под массивы, хош пользуйся встроенными возможностями. Ничего убийственного не вижу.
92 Кирпич
 
30.09.13
10:07
(90) чо ты голову людям морочишь. просто константу объявили и всё. при чем тут стек и компилятор.
93 Rie
 
30.09.13
10:13
(92) При том, что константа - это такая цифирь. Нет разницы между const N=4; с последующим использованием N и просто числом 4 (Мля... В некоторых языках - есть... Читатели, игнорируйте, пжалста, этот момент! Просто примите, что в Delphi - ну вот так сложилось. "Почему мы руки моем, а ноги - нет"). А "головы морочу" - я не морочу, я предпочитаю, чтобы люди понимали, почему так, а не иначе.
94 mzelensky
 
30.09.13
10:15
(90) Я реализовывал через кучу.
95 Rie
 
30.09.13
10:15
+(92) Это - к вопросу об использовании тех или иных инструментов. Вот сделали люди. Вот в Delphi - так сделали. Замечательно. В динамических языках - иначе. Тоже замечательно. Просто выбирайте инструмент, который нужен...
96 mzelensky
 
30.09.13
10:15
(93) не понимаю чего ты так хорохоришься. Это и Ёжику понятно, что

"Нет разницы между const N=4; с последующим использованием N и просто числом 4"
97 Rie
 
30.09.13
10:16
(94) Ну так и в Delphi - динамические массивы в куче лежат. Но у них в декларации переменной размер не задаётся.
98 Rie
 
30.09.13
10:17
(86) На самом деле - это особенность именно Delphi, в других компиляторах бывает и иначе.
99 Кирпич
 
30.09.13
10:32
(98) ага. а еще в других компиляторах нету слова BEGIN и END
100 Тоненький Клиент
 
30.09.13
10:33
как бы
101 skunk
 
30.09.13
10:35
(99)в паскале нету {} ... это плохо?
102 Кирпич
 
30.09.13
10:36
(101) это отвратительно
правда {} там есть, но всё равно отвратительно
103 Сергей Д
 
30.09.13
10:44
(0) Создаешь приложение, закрываешь все формы без сохранения, код пишешь между begin и end в главное модуле (которы program). Вроде все.
104 CepeLLlka
 
30.09.13
10:44
Ребята.. ребята.. подскажите раз уж вы тут...

А есть в Delphi ключ и значение? :)
105 Сергей Д
 
30.09.13
10:45
(104) Ассоциативный массив? В D7 не было.
106 CepeLLlka
 
30.09.13
10:45
(103)Спасибо, Серёж.. уже подсказал Кирпич..
107 skunk
 
30.09.13
10:45
(104)что ты под этим имел ввиду? ... структуру?
108 CepeLLlka
 
30.09.13
10:45
У меня D7
Блин.. Все хают 1С.. а в других системах ничего нет такого, что есть в 1С..
109 CepeLLlka
 
30.09.13
10:46
(107)Ну можно и структуру.. или же соответствие..
110 Кирпич
 
30.09.13
10:46
(104) я ж тебе готовую программу дал уже. накой тебе ключ и значение?
а так есть конечно.
111 CepeLLlka
 
30.09.13
10:47
(110)Ну не красиво же так :)
Два массива.. в одном ключ, в другом значение :)
Но за программу огромное спасииииииииибо!
112 Кирпич
 
30.09.13
10:48
издевается паразит
113 CepeLLlka
 
30.09.13
10:48
(112)Неет.. неет..
Не надо.. я так сделаю.. извини.. :(
Я просто спросил.. мой мозг просто привык к 1С уже.. вот и туплю сижу.. не могу воспринять другую прогу..
114 skunk
 
30.09.13
10:49
115 CepeLLlka
 
30.09.13
10:50
(114)Спс..
116 mzelensky
 
30.09.13
11:17
(111) В делфи массивы могут быть многомерными :)
117 Кирпич
 
30.09.13
11:21
(116) молчи! ты компиляторов не писал! (не был в Керчи)
118 Абырвалг
 
30.09.13
11:22
пиши на асме
119 Кирпич
 
30.09.13
11:24
(118) на асТме :)
120 CepeLLlka
 
30.09.13
11:25
Не могу иконку сменить :(
Жму кароче - project-options-application

Там не активно всё о_О
121 Кирпич
 
30.09.13
11:29
(120)у как жалко
122 Кирпич
 
30.09.13
11:32
program Project1;

uses
  SysUtils;

{$R *.res} //подключить ресуры
123 Кирпич
 
30.09.13
11:33
создай другой проект. выбери в нем иконку. компильни и скопируй res файл в свою пуперпрограмму
124 CepeLLlka
 
30.09.13
11:43
(122) У меня всё это есть..
125 CepeLLlka
 
30.09.13
11:43
(123)Ок... попробую..
126 Кирпич
 
30.09.13
11:46
для верности переименуй свой res c иконкой (в myres.res например), скопируй в папку с пуперпрограммой и вместо {$R *.res} напиши {$R myres.res}
127 mzelensky
 
30.09.13
11:47
Видимо весь смак этой гипер проги именно в иконке :)

Если компиляторов не писал, это сложно осознать :(
128 CepeLLlka
 
30.09.13
11:50
Ребята.. ну зачем вы так? Давайте жить дружно.. в одной стране живём.. хватит сраца!
129 skunk
 
30.09.13
11:52
а кто тут реально писал компилятор?
130 Кирпич
 
30.09.13
11:52
Rie писал
131 ДенисЧ
 
30.09.13
11:53
(129) Я писал. Как курсовую...
132 Кирпич
 
30.09.13
11:54
(131)да кто их не писал. кто учился, все писали.
133 CepeLLlka
 
30.09.13
11:55
Всё готово! Rename.exe ЙууХууу :)
134 skunk
 
30.09.13
11:56
(132)все ... правда 90% дальше эбаута не уходило
135 Кирпич
 
30.09.13
11:57
короче назрел вопрос о интерпритаторе языка 1с, на котором будут писать батники. ибо одинеснику не нужно ничего знать кроме одинеса.
136 Кирпич
 
30.09.13
11:57
интерпрЕтаторе. пардон.
137 Кирпич
 
30.09.13
11:59
сяду напишу чтобы пацаны не мучились больше с дельфями всякими
138 Кирпич
 
30.09.13
12:01
(133) покаж чо написал
139 mzelensky
 
30.09.13
12:02
(136) на ИС валялось несколько разработок по этой теме.
140 Кирпич
 
30.09.13
12:03
(139) пойду поищу
141 Кирпич
 
30.09.13
12:07
http://infostart.ru/public/18681/

вот есть вроде. но там .NET
а .NET это из пушки по воробьям
142 skunk
 
30.09.13
12:20
(141)это сейчас такие программеры пошли ... тыкают все галочки и аля компилить аплюхи по 3 гигабайта каждая
143 mzelensky
 
30.09.13
12:29
(141) Я пробовал эту штуку - мне не понравилось.

Так что пиши свою!
144 Кирпич
 
30.09.13
12:32
(142) напишут какую нибудь фигню, которая через интернет текстовый файлик отправляет. скачиваешь эту программу, размером в 140 мегабайт, устанавливаешь, запускаешь, а она выдает сообщение "неправильная строка с указанием класса "Excel.Application"" и падает.
Оказывается я дурак забыл купить офис.
145 CepeLLlka
 
30.09.13
13:07
(138)
program rename;

uses
  SysUtils;

{$R *.res}

const
  FileCount = 52;
var
  Dir: String;
  names1: array[1..FileCount] of string = ('????????.DBF', '????????.DBF', '???.DBF', '????????.DBF');
  names2: array[1..FileCount] of string = ('F4378001.DBF', 'F4378002.DBF', 'F4378003.DBF', 'F4378004.DBF');

  i: integer;

begin
  Dir := ExtractFileDir(ParamStr(0))+'\';
  for i := 1 to FileCount do
  begin
    if FileExists(Dir + names1[i]) then
      RenameFile(Dir + names1[i], Dir + names2[i]);
  end;
end.

Да ничё не написал... подменил твои названия файлов, ну и плюс за место статичной папки поставил папку из которой запускается программа..
В массивы добью оставшиеся 48 организаций.. и всё... можно будет юзать и таскать файл в банк в том виде, в котором они хотят.. вот :)
146 Кирпич
 
30.09.13
13:17
ну и ладушки
147 Помогите
 
30.09.13
13:24
(9) В BAT/CMD есть массивы
148 Кирпич
 
30.09.13
13:25
(147) ну вот. ты всё испортил :)
149 CepeLLlka
 
30.09.13
13:25
(147)Да может и есть.. но только гуглить нужно пол дня чтобы сделать такую простую задачу..
150 Помогите
 
30.09.13
13:28
(149)
Че там гуглить...
:: инициализировать 10 переменные вида arr.X случайными числами

for /l %%i in ( 0, 1, 9 ) do (
    set /a arr.%%i=!RANDOM!
)
151 CepeLLlka
 
30.09.13
13:30
(150)Видел эту ссылку..

Даю тебе 30 минут чтобы сделать то, что сделано в (145)..
Кирпич это сделал за 5 минут, если не меньше.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс