Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как правильно работать с базами данных?

Добрый день!
Как не потеряться во всем разнообразии классов, технологий
ADO, Linq, EF что с чем едять
подскажите как правильно работать с базами данных?
Ответ: Ну, ADO - это уже немного устаревшая технология (по сравнению с LINQ и ADO.NET), которая позволяет обращаться к базам данных удаленно и создавать информационные системы клиент-серверной архитектуры. Но в отличие от ADO.NET в этой технологии доступа к данных нет таких классов как DataSet, DataTable и некоторых других удобных классов и инструментов, обеспечивающих автономный доступ к базе данных.
LINQ - LINQ — это набор появившихся в Visual Studio 2008 функций, которые значительно расширяют возможности синтаксиса языков C# и Visual Basic. LINQ предлагает стандартные, легко запоминающиеся шаблоны для выполнения запросов и обновления данных, и эта технология может быть расширена с целью поддержки теоретически любого типа хранилища данных.
EF (Entity Framework) - это объектно-реляционный модуль сопоставления, позволяющий разработчикам .NET работать с реляционными данными с помощью объектов, специализированных для доменов. С этой оболочкой я еще не работал. Мне хватает возможностей ADO.NET и параметризованного T-SQL.
Подробнее:




Добавлено через 6 минут
Сообщение от bySawka
подскажите как правильно работать с базами данных?
Это настолько же специфический и личный вопрос, насколько и: дорогая, что тебе больше нравится? Орал, анал или головная боль?
Вопрос: Как правильно работать с массивом?

Perl 6
1
2
3
4
5
6
7
$N = 1;
@KonstruktorRj = ([59][$N]);
                     for($U=0;$U<=58;$U++)  
                            { 
                                @KonstruktorRj [$U][$N-1]= ('|!    Туда сюда     ');
                                @KonstruktorRj [58][$N-1]= ('|!    Туда сюда   |  '. "\n";);
                            }   
Торможу, как наиь правильно работать с масивом, что бы

при чтении файла на каждый читаемый рядок сразу создавать 58 элементов масива

рядков несколько сотен, не помню, три или девять.
Ответ: Вернусь к теме. У меня уже очень давно есть заготовка этой программы. И была на момент начала статьи. Работает она не так, код грязный, я тем не менее ее выложу. Хуже что она падает, как только я написал в ней массивы она падает и падает. Несколько дней она падала, и я даже не могу понять что не так.
Помогите ее довести до ума. То есть до работы.
Perl 6
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
#!/usr/bin/perl -w
use utf8;                  # ГђВіГђВѕГђВІГђВѕГ‘€ГђВёГ‘‚ Perl Г‘‡Г‘‚ГђВѕ ГђВєГђВѕГђВґ ГђВЅГђ°Г‘Л†ГђµГђВ№ ГђВїГ‘€ГђВѕГђВіГ‘€Гђ°ГђВјГђВјГђ° ГђВЅГђ°ГђВїГђВёГ‘&#129;Гђ°ГђВЅ ГђВІ ГђВєГђВѕГђВґГђВёГ‘€ГђВѕГђВІГђВєГђµ utf8.
use open qw(:std :utf8);   # ГђВіГђВѕГђВІГђВѕГ‘€ГђВёГ‘‚ Perl Г‘‡Г‘‚ГђВѕ ГђВІГ‘&#129;Гђµ ГђВїГђВѕГ‘‚ГђВѕГђВєГђВё STDIN, STDOUT, STDERR ГђВґГђВѕГђ»Гђ¶ГђВЅГ‘‹ Г‘€Гђ°Гђ±ГђВѕГ‘‚Гђ°Г‘‚Г‘Е’ Г‘&#129; utf8.
use warnings;
sleep(10);
 
my $str = "abc";
    $str =~ /(((a)(b))(c))/;
    print "1: $1 2: $2 3: $3 4: $4 5: $5\n";
    # prints: 1: abc 2: ab 3: a 4: b 5: c
sleep(10);
 
 
 
@BUFFER_temp = ();
$GLOBAL_lichylnyk = 0; $zvIryuvalnik = 0;
 
$FileNazva_1   =  'OPAfile.txt';
$Nazvadopovnjuvach = 'New_';
$FileNazva_2 = $Nazvadopovnjuvach.$FileNazva_1;
$FileNazva_3 = $Nazvadopovnjuvach.$FileNazva_2;
 
 
$Rjadky = 0;
 
$N = 1;
@KonstruktorRjadkiv = ([59][$N]);
                     for($U=0;$U<=58;$U++)  
                            { 
                                @KonstruktorRjadkiv [$U][$N-1]= ('|!    Немає значення     ');
                                @KonstruktorRjadkiv [58][$N-1]= ('|!    Немає значення  |  '. "\n";);
                            }   
 
print "$FileNazva_2";
 
open FILEHANDLE_2, ">>$FileNazva_2";
       #Гђ’Г‘–ГђВґГђВєГ‘€ГђВёГ‘”ГђВјГђВѕ Г‘„Гђ°ГђВ№Гђ» ГђВґГђ»Г‘&#143; Г‘‡ГђВёГ‘‚Гђ°ГђВЅГђВЅГ‘&#143; Г‘– Г‘&#129;Г‘‚ГђВІГђВѕГ‘€ГђВёГђВјГђВѕ Г‘–ГђВЅГ‘Л†ГђВѕГђВіГђВѕ Г‘„Гђ°ГђВ№Гђ»Г‘Ж’, ГђВґГђ»Г‘&#143; Гђ·Гђ°ГђВїГђВёГ‘&#129;Г‘Ж’ ГђВІ ГђВЅГ‘Е’ГђВѕГђВіГђВѕ Гђ·ГђВјГ‘–ГђВЅГђµГђВЅГђВѕГђВіГђВѕ Г‘‚ГђµГђВєГ‘&#129;Г‘‚Г‘Ж’.
open FILEHANDLE_1, $FileNazva_1;
 
open FILEHANDLE_3, ">>$FileNazva_3";
 
 
sub Vpysuvats{
                   
                   
       if($zvIryuvalnik-$N >=2)
                   {     
                        $N = $zvIryuvalnik;
                                                 for($U=0;$U<=57;$U++)  
                            { 
                                @KonstruktorRjadkiv [$U][$N-1]= ('|!    Немає значення     ');
                                @KonstruktorRjadkiv [58][$N-1]= ('|!    Немає значення  |  '. "\n";);                               
                            }   
                    }
 
}
 
 
while (defined (my $file_line = <FILEHANDLE_1>)) {
 
    sub Ste
    {
        if ($zvIryuvalnik-$GLOBAL_lichylnyk>=2)
        {                                   #Гђ±Гђ»ГђВѕГђВє Г‘&#129;Г‘‚ГђµГђ¶ГђµГђВЅГђВЅГ‘&#143; Гђ·Гђ° Гђ»Г‘–Г‘‡ГђВёГђ»Г‘Е’ГђВЅГђВёГђВєГђ°ГђВјГђВё
                 print 'Ste Ste Ste Ste Ste Ste Ste Ste Ste Ste Ste Ste';
                   
                 print $file_line; print "/n";
                 #push @BUFFER_temp, $file_line;
                                Vpysuvats;
                                   $temp2= @BUFFER_temp[$GLOBAL_lichylnyk];
                                   $temp3= $temp2. ' |';
                                   $temp4= $temp3. "\n";
                                   @BUFFER_temp[$GLOBAL_lichylnyk]=  $temp4;
                                   print FILEHANDLE_2 "$BUFFER_temp[$GLOBAL_lichylnyk]";
                 $GLOBAL_lichylnyk++;
 
 
 
        }
    }
 
        $Rjadky++;
        print " Tse rjadok $Rjadky\n";
        for ($i=0; $i<=$GLOBAL_lichylnyk; $i++)
             {
                print  "A sho my maemo $i @BUFFER_temp[$GLOBAL_lichylnyk]\n";
             }
             #sleep 30;
        
        #@BUFFER_temp = ();
        if ($file_line =~ m/(^.*(([0-9]{3}) (.*) )$)/) #ГђВЁГ‘Ж’ГђВєГђ°Г‘”ГђВјГђВѕ Г‘‡ГђВёГ‘&#129;Гђ»ГђВѕ Гђ· Г‘‚Г‘€Г‘Е’ГђВѕГ‘… Г‘†ГђВёГ‘„Г‘€ ГђВІ ГђВєГђВѕГђ¶ГђВЅГђВѕГђВјГ‘Ж’ Г‘€Г‘&#143;ГђВґГђВєГ‘Ж’ Г‘– ГђВІГђВёГђВґГ‘–Гђ»Г‘&#143;Г‘”ГђВјГђВѕ ГђВѕГђВєГ‘€ГђµГђВјГђВѕ Г‘‡ГђВёГ‘&#129;Гђ»ГђВѕ Г‘– Гђ·Гђ°Гђ»ГђВёГ‘Л†ГђВёГђВІГ‘Л†ГђВёГђВ№Г‘&#129;Г‘Е’ Г‘Ж’ Гђ·Гђ°Гђ»ГђВёГ‘Л†ГђВєГ‘Ж’ ГђВїГђВѕГђВґГђ°Гђ»Г‘Е’Г‘Л†ГђВёГђВ№ Г‘€Г‘&#143;ГђВґГђВѕГђВє
           {
                   print 'elsif 0';
                   
                   $zvIryuvalnik++;
                   Ste;
                   print "1: $1 2: $2 3: $3 4: $4 5: $5 6: $6 7: $7 8: $8\n";
                   $temp = $1;
                   $temp =~ s/\s+$//;#Гђ§Г‘‚ГђВѕГђ±Г‘‹ ГђВѕГ‘‚Г‘&#129;ГђµГ‘‡Г‘Е’ "Г‘…ГђВІГђВѕГ‘&#129;Г‘‚ГђВѕГђВІГ‘‹Гђµ" ГђВїГ‘€ГђВѕГђ±ГђµГђ»Г‘‹, ГђВіГђВѕГђВґГђВёГ‘‚Г‘&#129;Г‘&#143;
                   $temp = ' |!'. $temp;# ГђВґГђВѕГђВїГђВёГ‘&#129;Гђ°Г‘‚ГђВё Г‘&#129;ГђВїГђВѕГ‘‡Гђ°Г‘‚ГђВєГ‘Ж’ Г‘€ГђВѕГђ·ГђВґГ‘–Гђ»Г‘Е’ГђВЅГђВёГђВє Г‘‚Гђ°Гђ±Гђ»ГђВёГ‘†Г‘–
                            print "GLOBAL_lichylnyk: $GLOBAL_lichylnyk  temp: $temp \n";
                                  #push $BUFFER_temp[$GLOBAL_lichylnyk], $temp;
                                   $temp2= @BUFFER_temp[$GLOBAL_lichylnyk];
                                   $temp3= $temp2.$temp;
                                   @BUFFER_temp[$GLOBAL_lichylnyk]=  $temp3;
                                   
                    $nomer = $2;
 
                    @KonstruktorRjadkiv [0][$N-1]=  $temp3;                 
                   
 
            }
 
            elsif ($file_line =~ /(^.*([0-9]{3})(.*)$)/)
            {
                   $zvIryuvalnik++;
                   print 'elsif 1';
                   
                   print 'Ste';
                   
                   Ste;
                   
                   print "1: $1 2: $2 3: $3 4: $4 5: $5 6: $6 7: $7 8: $8\n";
                   $temp = $1;
                   $temp =~ s/\s+$//;#Гђ§Г‘‚ГђВѕГђ±Г‘‹ ГђВѕГ‘‚Г‘&#129;ГђµГ‘‡Г‘Е’ "Г‘…ГђВІГђВѕГ‘&#129;Г‘‚ГђВѕГђВІГ‘‹Гђµ" ГђВїГ‘€ГђВѕГђ±ГђµГђ»Г‘‹, ГђВіГђВѕГђВґГђВёГ‘‚Г‘&#129;Г‘&#143;
                   $temp = ' |!'. $temp;# ГђВґГђВѕГђВїГђВёГ‘&#129;Гђ°Г‘‚ГђВё Г‘&#129;ГђВїГђВѕГ‘‡Гђ°Г‘‚ГђВєГ‘Ж’ Г‘€ГђВѕГђ·ГђВґГ‘–Гђ»Г‘Е’ГђВЅГђВёГђВє Г‘‚Гђ°Гђ±Гђ»ГђВёГ‘†Г‘–
                                   print "GLOBAL_lichylnyk: $GLOBAL_lichylnyk  temp: $temp \n";
                                   #push $BUFFER_temp[$GLOBAL_lichylnyk], $temp;
                                   $temp2= @BUFFER_temp[$GLOBAL_lichylnyk];
                                   $temp3= $temp2.$temp;
                                   @BUFFER_temp[$GLOBAL_lichylnyk]=  $temp3;
                                   
                    @KonstruktorRjadkiv [0][$N-1]=  $temp3;            
                   
            }
 
            elsif ($file_line =~/(\[{2}([0-9]{2})\.[^\[\]]*\]{2})/)
            {
                   print 'elsif 2';
                   
 
                   
                   
                   $temp = $1;
                   $temp =~ s/\s+$//;#Гђ§Г‘‚ГђВѕГђ±Г‘‹ ГђВѕГ‘‚Г‘&#129;ГђµГ‘‡Г‘Е’ "Г‘…ГђВІГђВѕГ‘&#129;Г‘‚ГђВѕГђВІГ‘‹Гђµ" ГђВїГ‘€ГђВѕГђ±ГђµГђ»Г‘‹, ГђВіГђВѕГђВґГђВёГ‘‚Г‘&#129;Г‘&#143;
                   $temp = ' |!'. $temp;# ГђВґГђВѕГђВїГђВёГ‘&#129;Гђ°Г‘‚ГђВё Г‘&#129;ГђВїГђВѕГ‘‡Гђ°Г‘‚ГђВєГ‘Ж’ Г‘€ГђВѕГђ·ГђВґГ‘–Гђ»Г‘Е’ГђВЅГђВёГђВє Г‘‚Гђ°Гђ±Гђ»ГђВёГ‘†Г‘–
                                  #push $BUFFER_temp[$GLOBAL_lichylnyk], $temp;
                                   $temp2= @BUFFER_temp[$GLOBAL_lichylnyk];
                                   $temp3= $temp2.$temp;
                                   @BUFFER_temp[$GLOBAL_lichylnyk]=  $temp3;
                                   
                    $nomer = $2;
 
                    @KonstruktorRjadkiv [$nomer][$N-1]=  $temp3;                   
                                   
            }
 
 
 
 
        #sleep(25);
        #print "A thi zminulysja zminni? 1: $1 2: $2 3: $3 4: $4 5: $5 6: $6 7: $7 8: $8\n";
        #sleep(25);
 
}
 
print FILEHANDLE_3 "@KonstruktorRjadkiv";
 
# $file_line =~ m/^.([0-9]{3}s (.*) )$/;
#$file_line =~ m/^.([0-9]{3}[A-Za-z]+(\.[09]*)?)([CF])$/;
 
# s - Г‘†Гђµ Г‘&#129;ГђВїГђµГ‘†Г‘–Гђ°Гђ»Г‘Е’ГђВЅГђВёГђВ№ Г‘&#129;ГђВёГђВјГђВІГђВѕГђ», Г‘&#143;ГђВєГђВёГђВ№ ГђВІГђВєГђ°Гђ·Г‘Ж’Г‘” ГђВЅГђ° Гђ±Г‘Ж’ГђВґГ‘Е’-Г‘&#143;ГђВєГђВёГђВ№ Г‘&#129;ГђВёГђВјГђВІГђВѕГђ» Гђ· ГђВїГ‘–ГђВґГђВјГђВЅГђВѕГђ¶ГђВёГђВЅГђВё ГђВїГ‘€ГђВѕГђ±Г‘–Гђ»Г‘Е’ГђВЅГђВёГ‘… (ГђВїГ‘€ГђВѕГђ±Г‘–Гђ», Г‘‚Гђ°Гђ±Г‘Ж’Гђ»Г‘&#143;Г‘†Г‘–Г‘&#143;, etc ...) ГђВЈГ‘‚ГђВѕГ‘‡ГђВЅГ‘ЕЅ.  ГђВІГђВєГђ°Гђ·Г‘Ж’Г‘” ГђВЅГђ° ГђВѕГђВґГђВёГђВЅГђВёГ‘‡ГђВЅГђВёГђВ№ ГђВїГ‘€ГђВѕГђ±Г‘–Гђ»Г‘Е’ГђВЅГђВёГђВ№ Г‘&#129;ГђВёГђВјГђВІГђВѕГђ».
# ^ - ГђВІ ГђВєГђВѕГђВЅГ‘‚ГђµГђВ№ГђВЅГђµГ‘€Г‘– Гђ·Гђ°ГђВїГђµГ‘€ГђµГ‘‡ГђµГђВЅГђВЅГ‘&#143;     Гђ&#157;Г‘Ж’ Г‘‚ГђВѕГђ±Г‘‚ГђВѕ ГђВїГђµГ‘€ГђµГђВІГђµГ‘€Г‘‚Гђ°ГђВЅГђВЅГ‘&#143; Гђ·ГђВЅГђ°Г‘‡ГђµГђВЅГђВЅГ‘&#143;
# Гђ§Гђ°Г‘&#129;Г‘‚ГђВѕ ГђВІГђВёГђВєГђВѕГ‘€ГђВёГ‘&#129;Г‘‚ГђВѕГђВІГ‘Ж’Г‘”Г‘‚Г‘Е’Г‘&#129;Г‘&#143; ГђВїГђВѕГ‘&#129;Гђ»Г‘–ГђВґГђВѕГђВІГђВЅГ‘–Г‘&#129;Г‘‚Г‘Е’ .* ГђВґГђ»Г‘&#143; ГђВїГђВѕГђ·ГђВЅГђ°Г‘‡ГђµГђВЅГђВЅГ‘&#143; Гђ±Г‘Ж’ГђВґГ‘Е’-Г‘&#143;ГђВєГђВѕГ‘— ГђВєГ‘–Гђ»Г‘Е’ГђВєГђВѕГ‘&#129;Г‘‚Г‘– Гђ±Г‘Ж’ГђВґГ‘Е’-Г‘&#143;ГђВєГђВёГ‘… Г‘&#129;ГђВёГђВјГђВІГђВѕГђ»Г‘–ГђВІ ГђВјГ‘–Гђ¶ ГђВґГђВІГђВѕГђВјГђ° Г‘‡Гђ°Г‘&#129;Г‘‚ГђВёГђВЅГђ°ГђВјГђВё Г‘€ГђµГђВіГ‘Ж’Гђ»Г‘&#143;Г‘€ГђВЅГђВѕГђВіГђВѕ ГђВІГђВёГ‘€Гђ°Гђ·Г‘Ж’.
 
 
 
 
close FILEHANDLE_2;
 
close FILEHANDLE_1;
 
close FILEHANDLE_3;
 
 
 
#(*) -
 
#ГђЕѕГђВїГђµГ‘€Гђ°Г‘†Г‘–Г‘&#143;, Г‘&#143;ГђВєГђ° ГђВїГђВѕГђ·ГђВЅГђ°Г‘‡Гђ°Г‘”Г‘‚Г‘Е’Г‘&#129;Г‘&#143; ГђВєГ‘€Гђ°ГђВїГђВєГђВѕГ‘ЕЅ "." ГђВїГђВѕГ‘”ГђВґГђВЅГ‘Ж’Г‘” ГђВґГђВІГ‘– Г‘‚ГђµГђВєГ‘&#129;Г‘‚ГђВѕГђВІГ‘– Гђ·ГђВјГ‘–ГђВЅГђВЅГ‘–. Гђ*ГђµГђ·Г‘Ж’Гђ»Г‘Е’Г‘‚Гђ°Г‘‚ГђВѕГђВј Г‘†Г‘–Г‘”Г‘— ГђВґГ‘–Г‘— Г‘” Г‘‚Г‘€ГђµГ‘‚Г‘–ГђВ№ Г‘€Г‘&#143;ГђВґГђВѕГђВє, Г‘&#143;ГђВєГђВёГђВ№ ГђВґГђВѕГ‘€Г‘–ГђВІГђВЅГ‘ЕЅГ‘” ГђВїГђµГ‘€Г‘Л†ГђВѕГђВјГ‘Ж’ Г‘– ГђВґГ‘€Г‘Ж’ГђВіГђВѕГђВјГ‘Ж’ Г‘€Г‘&#143;ГђВґГђВєГђ°ГђВј Г‘€Гђ°Гђ·ГђВѕГђВј ГђВІГђ·Г‘&#143;Г‘‚ГђВёГђВј. Гђ&#144;ГђВЅГђВіГђ»Г‘–ГђВ№Г‘&#129;Г‘Е’ГђВєГђВѕГ‘ЕЅ ГђВјГђВѕГђВІГђВѕГ‘ЕЅ ГђВѕГђВїГђµГ‘€Гђ°Г‘†Г‘–Г‘&#143; ГђВѕГђ±'Г‘”ГђВґГђВЅГђ°ГђВЅГђВЅГ‘&#143; ГђВґГђВІГђВѕГ‘… Г‘€Г‘&#143;ГђВґГђВєГ‘–ГђВІ Гђ·ГђВІГђµГ‘‚Г‘Е’Г‘&#129;Г‘&#143; "concatenation". Гђ&#157;Гђµ ГђВјГђ°Г‘ЕЅГ‘‡ГђВё ГђВєГ‘€Гђ°Г‘‰ГђВѕГђВіГђВѕ ГђВІГђ°Г‘€Г‘–Гђ°ГђВЅГ‘‚Г‘Ж’, Г‘&#143; Гђ±Г‘Ж’ГђВґГ‘Ж’ Гђ·ГђВІГђ°Г‘‚ГђВё Г‘—Г‘— ГђВєГђВѕГђВЅГђВєГђ°Г‘‚ГђµГђВЅГђ°Г‘†Г‘–Г‘”Г‘ЕЅ (ГђВЅГђ° Г‘&#129;Гђ»Г‘Ж’Г‘… Г‘&#129;ГђВїГ‘€ГђВёГђВ№ГђВјГђ°Г‘”Г‘‚Г‘Е’Г‘&#129;Г‘&#143; Г‘&#143;ГђВє ГђВґГ‘Ж’Гђ¶Гђµ Г‘€ГђВѕГђ·Г‘Ж’ГђВјГђВЅГђµ Г‘&#129;Гђ»ГђВѕГђВІГђВѕ - Г‘– Г‘†Гђµ ГђВѕГ‘&#129;ГђВЅГђВѕГђВІГђВЅГђ° ГђВїГ‘€ГђВёГ‘‡ГђВёГђВЅГђ° ГђВ№ГђВѕГђВіГђВѕ ГђВІГђ¶ГђВёГђВІГђ°ГђВЅГђВЅГ‘&#143;).
 
 
  __END__
Добавлено через 5 часов 2 минуты
Да. Кодировка, если я хоть что-то правильно понимаю, действительно UTF8.

А вот это лиш следует считать полностью годным, хорошим репрезентативным образцом!!!

Если буквально эти строки удастся собрать в таблицу, это абсолютный показатель.



<pre>
.......*****************....
112. трумрлоє боротрумкдеродереваспрвовидабаорпмунє
[[01.Буонуымаркючуы, прукропджуючуы, Бутрумр зтрумртрумтрумрльнозмуыцнюючуы. ]]
[[14.ЭслунРваово-РваиЭсРваовуы (Бутрумр прукропджуючуы трумрДроеБуиБу)]]
[[15.Дророноснуы]]
[[18.ЗтрумрсБуосовувтрумрнуы Дрори виртрумрзРваовуый ботрйробуы]]
[[25.ткуржачотрумуыннуы, зтрумрсБуосовувтрумрнуы Дрори зтрумрботрйрювтрумрннях Дроеченуы, ткуржачних Эсляхутурумуыв, ткуржачнотрумо муыхутурумуру.]]
[[37.ЗтрумрсБуосовувтрумрнуы Дрори БууберРваульомаркы лєтрумєнуыв]]
[[40.РваровосДроинюючуы]]
[[41.Ртрумрнозтрумртрумоювтрумрльнуы]]
[[43.ДророБуиблювоБунуы]]
[[44.ДророБуизтрумрДротрумрльнуы]]
[[50.ЗтрумрсБуосовувтрумрнуы Дрори кабаних зтрумрботрйрювтрумрннях]]
[[54.ДророБуимиРваробнуы]]

123. трумрсБуртрумртрумтрумрл дтрумрБусьРваий
[[01.Буонуымаркючуы, прукропджуючуы, Бутрумр зтрумртрумтрумрльнозмуыцнюючуы. ]]
[[02.зтрумрсДрооРвауыйливуы]]
[[14.ЭслунРваово-РваиЭсРваовуы (Бутрумр прукропджуючуы трумрДроеБуиБу)]]
[[15.Дророноснуы]]
[[18.зтрумрсБуосовувтрумрнуы Дрори виртрумрзРваовуый ботрйробуы]]
[[25.ткуржачотрумуыннуы, зтрумрсБуосовувтрумрнуы Дрори зтрумрботрйрювтрумрннях Дроеченуы, ткуржачних Эсляхутурумуыв, ткуржачнотрумо муыхутурумуру.]]
[[37.зтрумрсБуосовувтрумрнуы Дрори БууберРваульомаркы лєтрумєнуыв]]
[[40.РваровосДроинюючуы]]
[[41.Ртрумрнозтрумртрумоювтрумрльнуы]]
[[43.ДророБуиблювоБунуы]]
[[44.ДророБуизтрумрДротрумрльнуы]]
[[50.зтрумрсБуосовувтрумрнуы Дрори кабаних зтрумрботрйрювтрумрннях]]
[[54.ДророБуимиРваробнуы]]

124. трумрртрумрлуыя мтрумрнчжурсьРватрумр
[[01.Буонуымаркючуы, прукропджуючуы, Бутрумр зтрумртрумтрумрльнозмуыцнюючуы. ]]
[[08.зтрумрсБуосовувтрумрнуы Дрори Хетикаапиэыых уы Дросихутурумуычних зтрумрботрйрювтрумрннях]]

971. !!!!!!!!!!!!!!!!!!!!!

Добавлено через 11 минут
Я перечитал... Может быть неясно. Уточню. Таблица, именно таблица, готовая, выглядит так

Таблица, строка готовой таблицы выглядит так, а |! и есть разделители, между каждым элементом таблицы.

Последний, 58 элемент таблицы заканчивается так | , это конец одной горизонтальной строки таблицы.

И вся она разделена знаками
|! 1.Росбирлинтрумр |![[01.Буонимаркючуы, прукропджуючуы, Бутрумр зтрумртрумтрумрльнозмуыцнюючуы. ]]|! [[02.ЗтрумрсДрооРвауыйливуы]]|! [[03.ЗтрумрсБуосовувтрумрнуы Дрори безсоннуы]]|! [[04.БолдрбреуБуохутубормраочуы]]|! Нифига Нет (Туда сюда ) |! ............... [[58.ЗтрумрсБуосовувтрумрнуы Дрори зтрумрботрйрювтрумрннях нироРва уы Боитсечовыкрумпрапиэыых Эсляхутурумуыв]]|

Каждая строка этой таблицы начинается |! и заканчивается | .
Вопрос: не правильно работает программа, что не так?

Доброго времени суток, Знатоки. У меня к Вам такой вопрос... У меня есть код программы на Делфи, но он работает не верно, а если быть точным, то я создал массивы, которые заполняться должны были автоматически и рандомно в пределах промежутка, но почему-то этот промежуток не соблюдается (я проверял на сколько правильно работает массив через вывод значений в "мемо"), где я ошибся? А ещё делфи постоянно ругается на мою формулу, которую я присвоил к переменной "а", почему? И ещё никак не могу понять почему не работает счётчик, который должен запоминать колличество чисел, которые удовлетворяют условию (m=m+1)! Спасибо всем, кто поможет начинающему программисту))
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var
 masx1: array[0..99] of real;
 masy1: array[0..99] of real;
 m,i: integer;
 a: real;
 
 
begin
m:=0;
 
  Randomize;
 
    for i:=0 to 99 do
          masx1[i]:=RandG(-4,6);
    for i:=0 to 99 do
         masy1[i]:=RandG(-3,7);
 
 for i:=0 to 99 do
 
   a:= Power ((masx1[i]-1),2)+Power ((masy1[i]-2),2);
    if (a<=25) then
       begin
         m:=m+1;
     end;
Ответ:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
var
  masx1: array[0..99] of real;
  masy1: array[0..99] of real;
  m,i: integer;
  a: real;
begin
  m:=0;
  Randomize;
  for i:=0 to 99 do
    begin
      masx1[i]:=RandG(-4,6);
      masy1[i]:=RandG(-3,7);
    end;
 
  for i:=0 to 99 do
    begin
      a:=Power((masx1[i]-1),2)+Power((masy1[i]-2),2);
      if a<=25 then Inc(m);
    end;
end;
Все нормально работает. Используйте отладчик, чтобы смотреть значения памяти массивов и значения счетчика.

Сообщение от Parlament
переменной "а", почему?
Делфи ругается не на формулу, а на то, что переменная m (вы имели ввиду M?) нигде не используется. Т.е. бессмысленна. Делфи можно понять, ему часто приходится делать бессмысленную работу, и впору протестовать против такого
Вопрос: Как правильно работать с My.Settings?

Как правильно работать с My.Settings?

У меня не получается сохранить и прочитать значение флажка в checkbox.
Делаю так



Сохраняю значение
vb.net
1
2
3
4
    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        My.Settings.checkupdate = CheckBox1.Checked
        My.Settings.Save()
    End Sub
Считываю
vb.net
1
2
3
4
      If My.Settings.checkupdate = True Then
'мои параметры
            End If
        
Где ошибка у меня?
Ответ: Сделал так. Все работает

vb.net
1
2
3
Private Sub About_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        CheckBox1.Checked = My.Settings.checkupdate
    End Sub
vb.net
1
2
3
    Private Sub About_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
        My.Settings.checkupdate = CheckBox1.Checked
    End Sub
vb.net
1
2
3
If My.Settings.checkupdate = True Then
'мои параметры
            End If
В свойствах приложения стоит галочка "Сохранять My.Settings при завершении работы"
Вопрос: Исправить программу, чтобы запускалась и правильно работала

Исправить программу, чтобы запускалась и правильно работала.
In [ ]:

Python
1
2
3
4
5
6
7
8
9
10
11
x = int(input('Введите сумму вклада: '))
p = input('Введите процентную ставку: ')
y = int(input('Введите желаемую сумму: '))
while y < x
    y = int(input('Желаемая сумма должна быть больше суммы вклада. Повторите ввод: '))
years = 0
while x < y
    x += x * p / 100
    years += 1
    
print('Ваш вклад вырастет до желаемой суммы за {} лет'.format(years))
Ответ: после while ставится двоеточие это оператор
Python
1
2
3
4
5
6
7
8
9
10
11
x = int(input('Введите сумму вклада: '))
p = input('Введите процентную ставку: ')
y = int(input('Введите желаемую сумму: '))
while y < x:
    y = int(input('Желаемая сумма должна быть больше суммы вклада. Повторите ввод: '))
years = 0
while x < y:
    x += x * p / 100
    years += 1
    
print('Ваш вклад вырастет до желаемой суммы за {} лет'.format(years))
Вопрос: Как правильно работать с port.ReceivedBytesThreshold (ComPort)?

Всем привет подскажите как правильно работать с port.ReceivedBytesThreshold . К примеру по нажатию на кнопку у меня отправляется в порт к устройству массив данных. В ответ я получаю какие то данные например из 5 байт я прописываю port.ReceivedBytesThreshold = 5 . Но получив эти данные и обработав и если они соответствуют нужным параметрам я отправляю в порт другие данные и в ответ летит массив другого размера. Так вот уже в теле private void port_DataReceived где я принял и обрабатываю данные я не могу установить уже другое значение например port.ReceivedBytesThreshold = 250
Подскажите как правильнее в коде менять значение port.ReceivedBytesThreshold
Ответ: В двух словах: всё сложно.
Вопрос: Не правильно работает функция

функция не правильно работает, при вызове всегда возвращает true
Pascal
1
2
3
4
5
6
7
8
9
10
11
function keyControl.isPress;
begin
   if keypressed then
    begin
     keyC:=readkey;
   if keyC=ch then
    begin
     isPress:=true;
   end;
  end;
 end;
вызов
Pascal
1
2
3
4
if key.isPress('s') then
begin
write('1');
end;
Ответ: исправил всем спасибо, особенно ФедосеевПавел, вот код
Pascal
1
2
3
4
5
6
7
8
9
10
11
function keyControl.isPress;
begin
   if keypressed then
    begin
     keyC:=readkey;
   if keyC=ch then
    begin
     isPress:=true;
   end;
  end else begin isPress:=false; end;
 end;
Вопрос: c# ef как правильно работать с dto

Здравствуйте!

Подскажите пожалуйста как правильно работать с DTO, с использованием отслеживания изменений ChangeTracker.
public class Order 
{
    public int Id { get; set; }
    public decimal Total { get; set; }
} 

public class OrderDto : Order
{
    public OrderDto(Order order)
    {
          base = order;
    }
    public string OtherTotal { get; set; }
} 


Этот пример кода, имеет права на жизнь?
Ответ: Nechto,
На уровень выше рассказывай.
- изменения отслеживает сам ef и генерирует sql на context.Save....
Т.е. не нужно ему говорить какой объект изменился.
DTO нужен чтобы передать на другого клиента с другим ЯП.
Цель рассказывай.
Вопрос: Как правильно работать на Delphi 7 с CLOB и BLOB (

Не подскажете ли, уважаемые коллеги, как правильно на Delphi 7 работать с типом данных CLOB и BLOB (СУБД Oracle)--чтобы правильно записывалась информация этих типов в БД и правильно считывалась информация этих типов из БД?
В первую очередь меня интересует запись данных типа CLOB. (Эта запись осуществляется с помощью SQL-ской команда INSERT).

Ответ:
Не подскажете ли, уважаемые коллеги, как правильно на Delphi 7 работать с типом данных CLOB и BLOB (СУБД Oracle)--чтобы правильно записывалась информация этих типов в БД и правильно считывалась информация этих типов из БД?
В первую очередь меня интересует запись данных типа CLOB. (Эта запись осуществляется с помощью SQL-ской команда INSERT).

Вопрос: Процесс с сервером перестает правильно работать при попытке добавления новой вкладки в TTabControl

Очень особый случай.

Использую Indy 10 в Lazarus и пытаюсь поэкспериментировать с его возможностями. Написал простую клиентскую часть и серверную. Протокол TCP. И, соответственно, использовал уже готовые IdTCPServer/IdTCPClient юниты.

Все работает отлично на клиентской части.

Серверная часть имеет функцию, которая срабатывает при подключении кого-то к серверу. То есть, я ивент OnConnect(Context: TIdContext) задал свой. Он достаточно просто выглядит, казалосы бы мне:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TServerSideForm.FormCreate(Sender: TObject);
var
  SocketHandle: TIdSocketHandle;
begin
  TCPServer := TIdTCPServer.Create;
 
  TCPServer.Bindings.Clear;
  SocketHandle := TCPServer.Bindings.Add;
 
  TIdStack.IncUsage;
  SocketHandle.IP := GStack.LocalAddress;
  SocketHandle.Port := 4521;
  TIdStack.DecUsage;
 
  // RecieveEdit.Text := RecieveEdit.Text + #10 + 'Connected to ' + GStack.LocalAddress + #10;
  TCPServer.OnExecute:=@OnExecuteServer;
  TCPServer.OnConnect:=@OnConnectServer; // Вот она!
  TCPServer.OnDisconnect:=@OnDisconnectServer;
end;
Вот функция сама:
Delphi
1
2
3
4
5
6
7
procedure TServerSideForm.OnConnectServer(Context: TIdContext);
begin
  LogForm.LogToForm(Context.Binding.IP + ' has connected to the server (' + Context.Binding.PeerIP + ')');
 
  //ConnectionsForm.AddTab(Context.Binding.PeerIP); // перестает работать из-за этого
  //ConnectionsForm.ConnectionTabs.Tabs.Add('?!?!?!'); // и даже из-за этого!
end;
В форме ConnectionsForm, как уже понятно, есть TTabControl переменная ConnectionTabs. При попытке добавить в неё вкладку, все перестает работать. Но не полностью. Например, ивент OnExecute продолжает работать правильно и писать в добавленный функцией AddTab() TMemo всякие приколюхи! Кстати, про AddTab():

Delphi
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
procedure TConnectionsForm.AddTab(IP: string);
var
  newMemo: TMemo;
begin
  ConnectionTabs.Tabs.Add(IP);
  currTabIndx := ConnectionTabs.TabIndex;
 
  newMemo := TMemo.Create(ConnectionsForm);
 
  newMemo.AnchorSide[akTop].Side:=asrTop;
  newMemo.AnchorSide[akTop].Control:=ConnectionTabs;
  newMemo.BorderSpacing.Top:=2;
 
  newMemo.AnchorSide[akBottom].Side:=asrBottom;
  newMemo.AnchorSide[akBottom].Control:=ConnectionTabs;
  newMemo.BorderSpacing.Bottom:=2;
 
  newMemo.AnchorSide[akLeft].Side:=asrLeft;
  newMemo.AnchorSide[akLeft].Control:=ConnectionTabs;
  newMemo.BorderSpacing.Left:=2;
 
  newMemo.AnchorSide[akRight].Side:=asrRight;
  newMemo.AnchorSide[akRight].Control:=ConnectionTabs;
  newMemo.BorderSpacing.Right:=2;
 
  newMemo.Anchors := [akTop, akBottom, akLeft, akRight];
 
  newMemo.Parent := ConnectionTabs;
  newMemo.Visible:=true;
 
  newMemo.Lines.Add(IP);
 
  SetLength(connectionMessagesList, Length(connectionMessagesList)+1);
  connectionMessagesList[Length(connectionMessagesList)-1] := newMemo;
 
  ShowOnly(currTabIndx);
end;
Она работает без проблем.

Так в чем же беда? Прошу помощи, я тут бессилен. Единственное, что откопал, это то, что в IdThread в бесконечном while лупе катается instruction pointer, но я думаю, это что-то Indyвское и не должно ломать программу.

Добавлено через 3 минуты
Ух, еще поправка. connectionMessagesList - не TList, а просто массив TMemoв.
Ответ: Joy, неа, и не буду. У меня сейчас все прекрасно работает.