Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2008, 22:16   #1
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
Сообщение как реализовать это на Делфи ???

пытался сделать это на делфи сперва не получилось...накидал на С#....a как можно реализовать этот код в делфи ???
Код:
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestDigits
{
    public partial class Form1 : Form
    {
        string[] zero = new string[3] { "0", "@", "_"};
        string[] one = new string[3] { "1", "Y", "Z" };
        string[] two = new string[3] { "A", "B", "C" };
        string[] three = new string[3] { "D", "E", "F" };
        string[] four = new string[3] { "G", "H", "I" };
        string[] five = new string[3] { "J", "K", "L" };
        string[] six = new string[3] { "M", "N", "O" };
        string[] seven = new string[3] { "P", "Q", "R" };
        string[] eight = new string[3] { "S", "T", "U" };
        string[] nine = new string[3] { "V", "W", "X" };
        string[][] asd = new string[10][];

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            char[] ch = new char[10];
            ch = this.textBox1.Text.ToCharArray();
            for (int i = 0; i < 10; i++)
            { 
                switch (ch[i])
                {
                    case '0':   asd[i] = zero;
                                break;
                    case '1':   asd[i] = one;
                                break;
                    case '2':   asd[i] = two;
                                break;
                    case '3':   asd[i] = three;
                                break;
                    case '4':   asd[i] = four;
                                break;
                    case '5':   asd[i] = five;
                                break;
                    case '6':   asd[i] = six;
                                break;
                    case '7':   asd[i] = seven;
                                break;
                    case '8':   asd[i] = eight;
                                break;
                    case '9':   asd[i] = nine;
                                break;
                }
            }
            
            Calculate(asd);
        }

        private void Calculate(string[][] digits)
        {
            TextWriter tws = new StreamWriter("test.txt");
            for (int i1 = 0; i1 <= 2; i1++) 
            {
                for (int i2 = 0; i2 <= 2; i2++) 
                {
                    for (int i3 = 0; i3 <= 2; i3++)
                    {
                        for (int i4 = 0; i4 <= 2; i4++)
                        {
                            for (int i5 = 0; i5 <= 2; i5++)
                            {
                                for (int i6 = 0; i6 <= 2; i6++)
                                {
                                    for (int i7 = 0; i7 <= 2; i7++)
                                    {
                                        for (int i8 = 0; i8 <= 2; i8++)
                                        {
                                            for (int i9 = 0; i9 <= 2; i9++)
                                            {
                                                for (int i10 = 0; i10 <= 2; i10++)
                                                {
                                                    tws.Write(digits[0][i1] + digits[1][i2] + digits[2][i3] + 
                                                        digits[3][i4] + digits[4][i5] + digits[5][i6] + 
                                                        digits[6][i7] + digits[7][i8] + digits[8][i9] + 
                                                        digits[9][i10] + Environment.NewLine);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            tws.Close();
            tws.Dispose();
            MessageBox.Show("Writing Done!!!");           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            TextReader tr = new StreamReader("test.txt");
            
            this.richTextBox1.Text += tr.ReadToEnd();
            tr.Close();
            tr.Dispose();
        }
    }
}
akasex вне форума Ответить с цитированием
Старый 14.06.2008, 23:13   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Код:
string[] one = new string[3] { "1", "Y", "Z" };
Код:
var
one: string = '1YZ';
//или
one: array[0..2] of char = ('1','Y','Z');

asd: array[0..9] of string;
Код:
case <переменная> of
  0: <оператор 1>;
  1: <оператор 2>;
  // и так далее
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 14.06.2008 в 23:20.
mutabor вне форума Ответить с цитированием
Старый 14.06.2008, 23:19   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Нет, mutabor, это не одна строка, а массив строк.А от автора хотелось бы услышать, что вся эта инопланетная конструкция должна делать-то...
B_N вне форума Ответить с цитированием
Старый 15.06.2008, 00:01   #4
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

вообще ето простеишии перебор всех вариантов значении...т.е. если имеем A{'1','2'} B{'3','4'} C{'5',6'} то получаем или ABC ACB BAC BCA CAB CBA....a она до;йна вивести резултат всех значении сочетании этих массивов....проблема в организации array of array в делфи.....
akasex вне форума Ответить с цитированием
Старый 15.06.2008, 01:10   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от akasex Посмотреть сообщение
...проблема в организации array of array в делфи.....
??? какая проблема?

Код:
var
    a : array [0 .. 2] of array of string;
    b : array of array of string;
    c : array of array [0 .. 9] of string;
    d : array [0 .. 2] of array [0 .. 9] of string;
begin
.............
.............
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно реализовать тег SeRhy HTML и CSS 0 18.08.2008 18:00
Помогите реализовать VenMaster Общие вопросы Delphi 8 24.04.2008 23:45
Как такое реализовать? AnalogXP Общие вопросы Delphi 9 17.02.2008 00:22
Как реализовать ASin Romanus Общие вопросы C/C++ 2 16.04.2007 09:46