powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Посоветуйте RAD, альтернативную 1С.
25 сообщений из 242, страница 1 из 10
Посоветуйте RAD, альтернативную 1С.
    #38812886
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть несколько программ, написанных на 1С - это учет домашних денег и клиент для социальных сетей (мамба).
Хотелось бы перевести их на независимый от 1С формат, т.е. чтобы просто запускался EXE-файл. Чтобы поделиться с людьми. 1С - мир узок, а EXE могут использовать все.

Обе этих программы имеют свою базу данных. SQL я знаю хорошо, в свое время писал себе сайт на PHP+MySQL.

Однако в разработке программы, есть такие моменты, к которым я привык в 1С и без которых себе не представляю вменяемую RAD:

1. Дистрибуция структуры базы данных. Если я добавляю новую таблицу или колонку, 1С сама обновляет у всех клиентов структуру данных, не надо писать для этого скрипты. В том же Access достаточно проблематично обновлять структуру таблиц, код форм и модулей у клиентов. Или нет?

2. Простая работа с формами. Я пробовал работать с формами в JAVA - это тихий ужас. Для банального добавления полей на форму создается тихий ужас с унаследованными классами и весь этот код показывается в Designer и никак не прячется от разработчика. Т.е. идеология ООП как-то не очень подходит к разработке форм.

3. Выгрузка отчетов не в графическом виде, как у Crystal Reports (Access), а в виде Excel, т.е. таблицы, которую можно загрузить в Excel и обработать там данные.

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

Это основное, SQL логику я умею прикручивать и обрабатывать. Хотелось бы понять, как быть с этими проблемами.

Посоветуйте, есть ли готовые RAD с такими параметрами.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38812907
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний выдох ГПЖ,

1с делает обновление через конфигурацию, метаданные. Т.е. разработчик просто изменяет структуру данных и эта структура у всех клиентов при обновлении конфигурации меняется. Прозрачный процесс, никакой магии, но в RAD не встречал.

#region не поможет.

Слив засчитан. Не можете помочь, не нужно и писать.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38812913
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Т.е. разработчик просто изменяет структуру данных и эта структура у всех клиентов при обновлении конфигурации меняется

ты не поверишь... но меняется она в базе на скуле тоже скриптами... причем более тупыми чем обычно: создали таблицу новой структуры и переносим туда данные
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38812928
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний выдох ГПЖ>Т.е. разработчик просто изменяет структуру данных и эта структура у всех клиентов при обновлении конфигурации меняется

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

но видишь ли, эти скрипты генерит платформа, а не разработчик.
потому и RAD

Модератор: Тема перенесена из форума "1С".
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813271
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай напишем своё!
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813274
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в Visual Studio классы генерируются по структуре БД
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813277
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и конечно это
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813289
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FixinПосоветуйте, есть ли готовые RAD с такими параметрами.
На ум только Clarion приходит... :-\
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813294
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafКстати в Visual Studio классы генерируются по структуре БД
речь о другом.
вот я написал версию базы 1.0, отправил клиентам.
потом добавил пару колонок K1, K2 в таблицу Т1. приложение версии 2.0 работает с этими колонками уже.

мне придется написать скрипт вида:

Если у таблицы Т1 нет колонок К1, К2 то добавить в Т1 колонку К1, К2.


Ну или же как-то автоматизировать написание этого скрипта, т.е. брать текущую структуру таблицы, сравнивать с требуемой (наверное, передаваемой в XML) и добавлять/удалять нужные поля.

Понятно, что задача не особо сложная, но все же. В 1С это уже есть.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813299
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafДавай напишем своё!
а на чем сейчас модно писать? Visual Studio C Sharp???
А сколько эта среда разработки официально стоит?

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

С формами вот непонятки. Я так понял, все современные IDE работают через ООП-модель.

Т.е. на базе формы наследуется класс и на базе каждого элемента наследуется класс. ЭТо тот еще геморой. Мне нужен язык, где я просто реагирую на события элементов управления, как в VBasic и в 1С. Без этой ерунды с наследованием. Посоветуйте.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813312
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FixinТ.е. на базе формы наследуется класс и на базе каждого элемента наследуется класс. ЭТо тот еще геморой. Мне нужен язык, где я просто реагирую на события элементов управления, как в VBasic и в 1С. Без этой ерунды с наследованием. Посоветуйте.

Это ты какую охинею несешь, ты бы себе поставил что-ли VS или Delphi и попробуй написать приложение с кнопкой на форме, по нажатию на которую выпадает мессаж "Hello, world!"
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813318
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот весь код, который добавила студия:
Код: c#
1.
2.
3.
4.
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello, world!");
        }
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813322
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafFixinТ.е. на базе формы наследуется класс и на базе каждого элемента наследуется класс. ЭТо тот еще геморой. Мне нужен язык, где я просто реагирую на события элементов управления, как в VBasic и в 1С. Без этой ерунды с наследованием. Посоветуйте.

Это ты какую охинею несешь, ты бы себе поставил что-ли VS или Delphi и попробуй написать приложение с кнопкой на форме, по нажатию на которую выпадает мессаж "Hello, world!"

Я как раз пробовал написать в свое время приложение с таблицей значений на JAVA. для игры типа крестики-нолики.
Посмотри код и ужаснись объему ради такой простой хрени.

https://yadi.sk/d/8jI6U6vocr74x

Вот, к примеру код формы:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
/*
 * CrossZeroView.java
 */

package ru.com.fixin.crosszero;

import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;

/**
 * The application's main frame.
 */
public class CrossZeroView extends FrameView {
    public boolean bgamestarted = false;
    public CrossZeroView(SingleFrameApplication app) {
        super(app);

        initComponents();
        //additional by Fixin
        jTable1.setDefaultRenderer(Object.class, new MyCellRenderer());

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String)(evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer)(evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });
    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = CrossZeroApp.getApplication().getMainFrame();
            aboutBox = new CrossZeroAboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        CrossZeroApp.getApplication().show(aboutBox);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();

        mainPanel.setName("mainPanel"); // NOI18N

        jScrollPane1.setColumnHeader(null);
        jScrollPane1.setName("jScrollPane1"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(ru.com.fixin.crosszero.CrossZeroApp.class).getContext().getResourceMap(CrossZeroView.class);
        jTable1.setBorder(new javax.swing.border.LineBorder(resourceMap.getColor("gameTable.border.lineColor"), 1, true)); // NOI18N
        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10", "Title 11", "Title 12", "Title 13", "Title 14", "Title 15", "Title 16", "Title 17", "Title 18", "Title 19", "Title 20", "Title 21", "Title 22", "Title 23", "Title 24", "Title 25", "Title 26", "Title 27", "Title 28", "Title 29", "Title 30"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTable1.setGridColor(resourceMap.getColor("gameTable.gridColor")); // NOI18N
        jTable1.setName("gameTable"); // NOI18N
        jTable1.setRowSelectionAllowed(false);
        jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 420, Short.MAX_VALUE)
                .addContainerGap())
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE)
                .addContainerGap())
        );

        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ru.com.fixin.crosszero.CrossZeroApp.class).getContext().getActionMap(CrossZeroView.class, this);
        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N
        jMenu1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu1ActionPerformed(evt);
            }
        });
        menuBar.add(jMenu1);

        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setName("progressBar"); // NOI18N

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusMessageLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 420, Short.MAX_VALUE)
                .addComponent(statusAnimationLabel)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statusPanelLayout.createSequentialGroup()
                .addContainerGap(284, Short.MAX_VALUE)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusMessageLabel)
                    .addComponent(statusAnimationLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>//GEN-END:initComponents

    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed
        bgamestarted = true;
    }//GEN-LAST:event_jMenu1ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu jMenu1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JPanel statusPanel;
    // End of variables declaration//GEN-END:variables

    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;

    private JDialog aboutBox;
}
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813324
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafвот весь код, который добавила студия:
Код: c#
1.
2.
3.
4.
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello, world!");
        }



Это Си Шарп? Я в свое время копал в сторону JAVA, код тебе выложил (это на тему "одной строки").
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813330
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FixinЭто Си Шарп? Я в свое время копал в сторону JAVA, код тебе выложил (это на тему "одной строки").
Не ну так то да, вот весь файл
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello, world!");
        }
    }
}

Обрати внимание, что класс объявлен как partial
Потому остальное спрятано под капотом в другом файле, генерируется самой средой и разработчику можно не лезть туда
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813343
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это подойдет.
http://www.visual-t.ru/
IDE похожая на Delphi с интерпретируемым паскалем.
Там два движка: один собран на лазарусе, другой на делфи.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813348
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модератору: незачем всё говно валить в "Разработку информационных систем". У одинцеконфигурастов есть своя тусовка, - пусть там и развлекаются. Ничего общего одинце ни с информационными системами, ни с разработкой не имеет в принципе.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813356
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Модератору: незачем всё говно валить в "Разработку информационных систем". У одинцеконфигурастов есть своя тусовка, - пусть там и развлекаются. Ничего общего одинце ни с информационными системами, ни с разработкой не имеет в принципе.ты смотри какой дерзкий))
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813387
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fixin1С - мир узок, а EXE могут использовать все
Неправда, только пользователи Windows
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813594
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FixinУ меня есть несколько программ, написанных на 1С - это учет домашних денег и клиент для социальных сетей (мамба).
Хотелось бы перевести их на независимый от 1С формат, т.е. чтобы просто запускался EXE-файл. Чтобы поделиться с людьми. 1С - мир узок, а EXE могут использовать все.

Обе этих программы имеют свою базу данных. SQL я знаю хорошо, в свое время писал себе сайт на PHP+MySQL.

Однако в разработке программы, есть такие моменты, к которым я привык в 1С и без которых себе не представляю вменяемую RAD:

1. Дистрибуция структуры базы данных. Если я добавляю новую таблицу или колонку, 1С сама обновляет у всех клиентов структуру данных, не надо писать для этого скрипты. В том же Access достаточно проблематично обновлять структуру таблиц, код форм и модулей у клиентов. Или нет?

2. Простая работа с формами. Я пробовал работать с формами в JAVA - это тихий ужас. Для банального добавления полей на форму создается тихий ужас с унаследованными классами и весь этот код показывается в Designer и никак не прячется от разработчика. Т.е. идеология ООП как-то не очень подходит к разработке форм.

3. Выгрузка отчетов не в графическом виде, как у Crystal Reports (Access), а в виде Excel, т.е. таблицы, которую можно загрузить в Excel и обработать там данные.

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

Это основное, SQL логику я умею прикручивать и обрабатывать. Хотелось бы понять, как быть с этими проблемами.

Посоветуйте, есть ли готовые RAD с такими параметрами.
могу посоветовать то, что сам сделал и использую .

Правда нет визуального редактора форм, но я пока так обхожусь. Зато никакой писанины, скриптов и классов.
Все остальное отвечает Вашим запросам.
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813602
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не очень понятно почему именно RAD с exe файлом?. Кстати под RAD подразумевается среда разработки - думаете пользователю интересно как вы там разрабатываете?
Я например разрабатываю учетную систему как сайт и править проще и кросплатформенно и веб доступ. Если понадобится поставить искаропки - запихну в какой нибудь WAMP сервер типа XAMPP зазипую и будет юзеру щастье .
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813718
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да полно
1
2
ну и гугл в помощь
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813738
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)да полно
1
2
ну и гугл в помощь
eue

угу, либо импортные с гемором по адаптации либо наши но с закрытыми кодами
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813799
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafОбрати внимание, что класс объявлен как partial
Потому остальное спрятано под капотом в другом файле, генерируется самой средой и разработчику можно не лезть туда

Блин, и тут это ООП-ное говно....
Я разочарован в C#, блин...
...
Рейтинг: 0 / 0
Посоветуйте RAD, альтернативную 1С.
    #38813800
Fixin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballeroне очень понятно почему именно RAD с exe файлом?. Кстати под RAD подразумевается среда разработки - думаете пользователю интересно как вы там разрабатываете?
Я например разрабатываю учетную систему как сайт и править проще и кросплатформенно и веб доступ. Если понадобится поставить искаропки - запихну в какой нибудь WAMP сервер типа XAMPP зазипую и будет юзеру щастье .

Пользователю интересна цена.
RAD ускоряет разработку и сопровождение, поэтому 1С дешевле в итоге, чем PHP для среднего уровня задач. Это очевидные истины.
...
Рейтинг: 0 / 0
25 сообщений из 242, страница 1 из 10
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Посоветуйте RAD, альтернативную 1С.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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