помогите кто-то(((
» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET
sashka01
Тебе вроде numetalist все написал ...
Цитата:
точно также как и cut\paste - только перед пасте меняеш шрифт
Тебе вроде numetalist все написал ...
Цитата:
как сделать шрифт жирным/курсив/ выбрать размер текста... и тд
точно также как и cut\paste - только перед пасте меняеш шрифт
Кто знает, как заставить RichTextBox отображать только 80 символов в строке и горизонтальную полосу прокрутки? В свойствах элемента я установил отображение обеих полос прокрутки, но вместо этого загружаемый текст заполняет строке по ширине RichTextBox'а и автоматически переносит строку.
blaro
свойство "WordWrap" (вроде так называется ...)
свойство "WordWrap" (вроде так называется ...)
BlackVetal
Есть такое свойство wordwrap. Cпасибо, но ты на денек опоздал.
Есть такое свойство wordwrap. Cпасибо, но ты на денек опоздал.
Народ, пишу софт по декодирование картинок, их ресайзу и отображению на контроле Image в WPF (.Net 3.5 sp1)
Вот пример части кода:
Код: private static System.Drawing.Bitmap createRawBitmap(IntPtr decoded_image_ptr, int decoded_image_size, J2K_Info info)
{
int stride = info.Width * ((info.Components == 1) ? 1 : 4);// info from J2K decoder
Bitmap resized_bitmap = new Bitmap(info.Width, 2 * info.Height);
Bitmap bitmap_from_ptr = new Bitmap(info.Width, info.Height, stride, PixelFormat.Format32bppArgb, decoded_image_ptr);
using (Graphics g = Graphics.FromImage((Image)resized_bitmap))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Low;
g.DrawImage(bitmap_from_ptr, 0, 0, info.Width, 2 * info.Height);
}
return resized_bitmap;
}
Вот пример части кода:
Код: private static System.Drawing.Bitmap createRawBitmap(IntPtr decoded_image_ptr, int decoded_image_size, J2K_Info info)
{
int stride = info.Width * ((info.Components == 1) ? 1 : 4);// info from J2K decoder
Bitmap resized_bitmap = new Bitmap(info.Width, 2 * info.Height);
Bitmap bitmap_from_ptr = new Bitmap(info.Width, info.Height, stride, PixelFormat.Format32bppArgb, decoded_image_ptr);
using (Graphics g = Graphics.FromImage((Image)resized_bitmap))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Low;
g.DrawImage(bitmap_from_ptr, 0, 0, info.Width, 2 * info.Height);
}
return resized_bitmap;
}
Народ, взгляните пожалуйста на функцию ниже. Эта функция должна сравнивать два текстовых файла и во втором выделять отличия в тексте.
Код:
private void Compbtn_Click(object sender, EventArgs e)
{
/*Compares two files*/
string st1 = rtb1.Text, st2 = rtb2.Text;
if (rtb1.TextLength <= rtb2.TextLength)
{
int i = 0;
for (i = 0; i < rtb1.TextLength-1; i++)
{
if (rtb2.Text[i] != rtb1.Text[i])
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(i,1);
}
}
if (rtb2.Text[i-1]!='\0')
{
for (int j = i; j <= rtb2.TextLength; j++)
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(j, 1);
}
}
}
else
{
if (rtb1.TextLength > rtb2.TextLength)
{
int i=0;
for(i=0;i<rtb2.TextLength;i++)
{
if (rtb1.Text[i]!=rtb2.Text[i])
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(i, 1);
}
}
}
}
}
Код:
private void Compbtn_Click(object sender, EventArgs e)
{
/*Compares two files*/
string st1 = rtb1.Text, st2 = rtb2.Text;
if (rtb1.TextLength <= rtb2.TextLength)
{
int i = 0;
for (i = 0; i < rtb1.TextLength-1; i++)
{
if (rtb2.Text[i] != rtb1.Text[i])
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(i,1);
}
}
if (rtb2.Text[i-1]!='\0')
{
for (int j = i; j <= rtb2.TextLength; j++)
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(j, 1);
}
}
}
else
{
if (rtb1.TextLength > rtb2.TextLength)
{
int i=0;
for(i=0;i<rtb2.TextLength;i++)
{
if (rtb1.Text[i]!=rtb2.Text[i])
{
rtb2.SelectionBackColor = Color.Red;
rtb2.Select(i, 1);
}
}
}
}
}
blaro
Попробуй очищать Selection после назначения цвета. И, может быть, сначала делать Select, а потом назначение цвета.
rtbX.Select(Y, 1);
rtbX.SelectionBackColor = Color.Red;
Попробуй очищать Selection после назначения цвета. И, может быть, сначала делать Select, а потом назначение цвета.
rtbX.Select(Y, 1);
rtbX.SelectionBackColor = Color.Red;
dneprcomp
Ничего не изменилось
Ничего не изменилось
blaro
Ты странно как-то сравниваешь два текста - как будто ему оставили одну и ту же длину и заменили некоторые символы на другие - очень редкий случай, надо сказать.
Также, изменения могут быть с обоих сторон (информация может как добавиться, так и удалиться).
Т.е. во-первых, тебе необходимо иметь два счётчика - один для позиции в левом, другой - в правом.
Во-вторых, при нахождении несоответствия тебе нужно явно определять - добавилась информация в правом тексте. Это не так просто сделать, как кажется с первого взгляда.
Определив характер изменения нужно выделять соответсвующий диапазон справа или слева (зависит от характера изменения) и синхронизировать позиции.
Вот примерный код (в нём предусмотрены далеко не все возможные случаи).
Код:
Color addColor = Color.LightGreen,
removeColor = Color.OrangeRed;
string t1 = rtb1.Text, t2 = rtb2.Text;
int contiguousWidth = 3;
/*Compares two files*/
int pos1 = 0, pos2 = 0;
while (pos1 < t1.Length && pos2 < t2.Length)
{
if (t1[pos1] == t2[pos2])
{ // skip matching characters
++pos1;
++pos2;
continue;
}
// determine change disposition
string piece1 = t1.Substring(pos1, Math.Min(contiguousWidth, t1.Length - pos1));
string piece2 = t2.Substring(pos2, Math.Min(contiguousWidth, t2.Length - pos2));
int m1 = t1.IndexOf(piece2, pos1);
int m2 = t2.IndexOf(piece1, pos2);
if (m1 == -1 && m2 == -1)
throw new NotImplementedException("implement it yourself");
if (m1 != -1 && m2 != -1)
{
if (m1 >= m2)
m1 = -1;
else
m2 = -1;
}
if (m1 == -1)
{ // in t2 there is new content, let's mark it green
if (m2 == pos2)
throw new Exception("something wrong");
rtb2.Select(pos2, m2 - pos2);
rtb2.SelectionBackColor = addColor;
pos2 = m2;
}
if (m2 == -1)
{ // in t2 text was deleted, let's mark it red
if (m1 == pos1)
throw new Exception("something wrong");
rtb1.Select(pos1, m1 - pos1);
rtb1.SelectionBackColor = removeColor;
pos1 = m1;
}
}
if (pos1 < t1.Length) // text left in t1 was removed in t2
{
rtb1.Select(pos1, t1.Length - pos1);
rtb1.SelectionBackColor = removeColor;
}
if (pos2 < t2.Length) // text left in t2 was added
{
rtb2.Select(pos2, t2.Length - pos2);
rtb2.SelectionBackColor = addColor;
}
Ты странно как-то сравниваешь два текста - как будто ему оставили одну и ту же длину и заменили некоторые символы на другие - очень редкий случай, надо сказать.
Также, изменения могут быть с обоих сторон (информация может как добавиться, так и удалиться).
Т.е. во-первых, тебе необходимо иметь два счётчика - один для позиции в левом, другой - в правом.
Во-вторых, при нахождении несоответствия тебе нужно явно определять - добавилась информация в правом тексте. Это не так просто сделать, как кажется с первого взгляда.
Определив характер изменения нужно выделять соответсвующий диапазон справа или слева (зависит от характера изменения) и синхронизировать позиции.
Вот примерный код (в нём предусмотрены далеко не все возможные случаи).
Код:
Color addColor = Color.LightGreen,
removeColor = Color.OrangeRed;
string t1 = rtb1.Text, t2 = rtb2.Text;
int contiguousWidth = 3;
/*Compares two files*/
int pos1 = 0, pos2 = 0;
while (pos1 < t1.Length && pos2 < t2.Length)
{
if (t1[pos1] == t2[pos2])
{ // skip matching characters
++pos1;
++pos2;
continue;
}
// determine change disposition
string piece1 = t1.Substring(pos1, Math.Min(contiguousWidth, t1.Length - pos1));
string piece2 = t2.Substring(pos2, Math.Min(contiguousWidth, t2.Length - pos2));
int m1 = t1.IndexOf(piece2, pos1);
int m2 = t2.IndexOf(piece1, pos2);
if (m1 == -1 && m2 == -1)
throw new NotImplementedException("implement it yourself");
if (m1 != -1 && m2 != -1)
{
if (m1 >= m2)
m1 = -1;
else
m2 = -1;
}
if (m1 == -1)
{ // in t2 there is new content, let's mark it green
if (m2 == pos2)
throw new Exception("something wrong");
rtb2.Select(pos2, m2 - pos2);
rtb2.SelectionBackColor = addColor;
pos2 = m2;
}
if (m2 == -1)
{ // in t2 text was deleted, let's mark it red
if (m1 == pos1)
throw new Exception("something wrong");
rtb1.Select(pos1, m1 - pos1);
rtb1.SelectionBackColor = removeColor;
pos1 = m1;
}
}
if (pos1 < t1.Length) // text left in t1 was removed in t2
{
rtb1.Select(pos1, t1.Length - pos1);
rtb1.SelectionBackColor = removeColor;
}
if (pos2 < t2.Length) // text left in t2 was added
{
rtb2.Select(pos2, t2.Length - pos2);
rtb2.SelectionBackColor = addColor;
}
archimed7592
Я ничего не понял из того, что ты написал. Зачем все усложнять? Ты знаешь, эта функция (представленная выше) это всего лишь курсовая. Я до сего дня не писал на C# большие програмы, только маленькие консольные приложения. Мне сейчас нужно что то простое, а не переписывать пол винды.
Я ничего не понял из того, что ты написал. Зачем все усложнять? Ты знаешь, эта функция (представленная выше) это всего лишь курсовая. Я до сего дня не писал на C# большие програмы, только маленькие консольные приложения. Мне сейчас нужно что то простое, а не переписывать пол винды.
blaro
Посимвольная выбирка в коде что-то смущает. Попробуй заменить строку
Код: if (rtb2.Text(i) != rtb1.Text(i))
Посимвольная выбирка в коде что-то смущает. Попробуй заменить строку
Код: if (rtb2.Text(i) != rtb1.Text(i))
dneprcomp
Я об этом вчера как раз думал. Что если взять из обоих текстов по строке и сравнить их посимвольно? ИМХО так будет меньше ошибок.
Я об этом вчера как раз думал. Что если взять из обоих текстов по строке и сравнить их посимвольно? ИМХО так будет меньше ошибок.
blaro
Просто используй вложенные циклы. Один для строк. Второй для символов.
Что-то вроде
Код: for (x = 1; x < [lines quantity]; x++)
for (i = 0; i < rtb1.TextLength-1; i++)
if rtb2.Lines(X).Substring(i, 1) != rtb1.Lines(X).Substring(i, 1)
Просто используй вложенные циклы. Один для строк. Второй для символов.
Что-то вроде
Код: for (x = 1; x < [lines quantity]; x++)
for (i = 0; i < rtb1.TextLength-1; i++)
if rtb2.Lines(X).Substring(i, 1) != rtb1.Lines(X).Substring(i, 1)
Читаю из текстового файла и получаю крякозябры вместо русских букв. Подскажите, пожалуйста, чего не хватает?
StreamReader streamReader = new StreamReader("aa.txt");
string strLine;
while (streamReader.Peek() != -1) {
strLine = streamReader.ReadLine();
}
StreamReader streamReader = new StreamReader("aa.txt");
string strLine;
while (streamReader.Peek() != -1) {
strLine = streamReader.ReadLine();
}
ppkp
указать кодировку 1251 при создании объекта StreamReader
Код: public StreamReader(string path, Encoding encoding)
path
Type: System..::.String
The complete file path to be read.
encoding
Type: System.Text..::.Encoding
The character encoding to use.
указать кодировку 1251 при создании объекта StreamReader
Код: public StreamReader(string path, Encoding encoding)
path
Type: System..::.String
The complete file path to be read.
encoding
Type: System.Text..::.Encoding
The character encoding to use.
Спасибо, вставил
Encoding encoding = System.Text.Encoding.Default;
и заменил
StreamReader streamReader = new StreamReader("aa.txt", encoding);
Работает ! Спасибо
ЗЫ
А можно и просто так
StreamReader streamReader = new StreamReader("aa.txt", System.Text.Encoding.Default);
Спасибо
Encoding encoding = System.Text.Encoding.Default;
и заменил
StreamReader streamReader = new StreamReader("aa.txt", encoding);
Работает ! Спасибо
ЗЫ
А можно и просто так
StreamReader streamReader = new StreamReader("aa.txt", System.Text.Encoding.Default);
Спасибо
переношу код из vb6 в vb.net
как вот это делается в .net?
ScaleX(x, Me.ScaleMode, vbPixels)
как вот это делается в .net?
ScaleX(x, Me.ScaleMode, vbPixels)
У меня один и тот же цикл на Delphi и на C#. На C# вычисляется в 3 раза дольше.
Это так и положено (из-за Framework) или у меня чего-то не так?
Это так и положено (из-за Framework) или у меня чего-то не так?
ppkp
Вы бы код самих циклов показали...
Вы бы код самих циклов показали...
Вот циклы
Код:
//Delphi
function TTopoGrid.InvDistProc(APow: double; ALines: TPoint; AStep: TPoint2D; AMin: TPoint3D): integer;
var
row, col, pnt: integer;
pow2: double;
Grow, Diff: TPoint2D;
zval, wg2, wg1: double;
begin
Result := -1;
pow2 := APow/2.0;
for row:=0 to ALines.Y-1 do begin
if Assigned(FOnCalcProgress) then FOnCalcProgress(row, ALines.Y);
Grow.Y := AMin.Y + row*AStep.Y;
for col:=0 to ALines.X-1 do begin
if Assigned(FOnCalcCancel) then if FOnCalcCancel then Exit;
Grow.X := AMin.X + col*AStep.X;
// FindNearPoints(Grow);
case FSearchMethod of
smNorm: FindPoints0(Grow);
smQuad: FindPointsN(4, Grow);
smOct: FindPointsN(8, Grow);
smAll: FNearPoints := FTopoData.Count;
end;
zval := 0.0;
wg2 := 0.0;
for pnt:=0 to FNearPoints-1 do begin
// Diff.X := Grow.X - PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.X;
// Diff.Y := Grow.Y - PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.Y;
Diff.X := Grow.X - TopoData[FPointsPtr[pnt]].X;
Diff.Y := Grow.Y - TopoData[FPointsPtr[pnt]].Y;
wg1 := Power(Diff.X*Diff.X + Diff.Y*Diff.Y, pow2);
if wg1 < MinDouble then wg1 := MinDouble;
// zval := zval + PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.Z/wg1;
zval := zval + TopoData[FPointsPtr[pnt]].Z/wg1;
wg2 := wg2 + 1.0/wg1;
end;
if wg2 > 0.0 then
FGrid[col][row] := zval/wg2
else
FGrid[col][row] := MaxDouble;
end;
end;
Result := ALines.Y;
end;
//C#
private int InvDistProc(double APow, Point ALines, Point2D AStep, Point3D AMin) {
int row, col, pnt;
double pow2;
double GrowX, GrowY, DiffX, DiffY;
double zval, wg2, wg1;
pow2 = APow / 2.0;
for (row = 0; row < ALines.Y; row++) {
CalcEvent.CalcProgressHandler(row + 1, ALines.Y);
GrowY = AMin.Y + row * AStep.Y;
for (col = 0; col < ALines.X; col++) {
// if (CalcEvent.CalcCancelHandler()) return -2;
GrowX = AMin.X + col * AStep.X;
// FindNearPoints(Grow);
switch (FSearchMethod) {
case TSearchMethod.smNorm: FindPoints0(GrowX, GrowY); break;
case TSearchMethod.smQuad: FindPointsN(4, GrowX, GrowY); break;
case TSearchMethod.smOct: FindPointsN(8, GrowX, GrowY); break;
case TSearchMethod.smAll: FNearPoints = FTopoData.Count; break;
}
zval = 0.0;
wg2 = 0.0;
for (pnt = 0; pnt < FNearPoints; pnt++) {
DiffX = GrowX - FTopoData[FPointsPtr[pnt]].X;
DiffY = GrowY - FTopoData[FPointsPtr[pnt]].Y;
wg1 = Math.Pow(DiffX * DiffX + DiffY * DiffY, pow2);
if (wg1 < double.MinValue) wg1 = double.MinValue;
zval = zval + FTopoData[FPointsPtr[pnt]].Z / wg1;
wg2 = wg2 + 1.0 / wg1;
}
if (wg2 > 0.0)
FGrid[col, row] = zval / wg2;
else
FGrid[col, row] = double.MaxValue;
}
}
return ALines.Y;
}
Код:
//Delphi
function TTopoGrid.InvDistProc(APow: double; ALines: TPoint; AStep: TPoint2D; AMin: TPoint3D): integer;
var
row, col, pnt: integer;
pow2: double;
Grow, Diff: TPoint2D;
zval, wg2, wg1: double;
begin
Result := -1;
pow2 := APow/2.0;
for row:=0 to ALines.Y-1 do begin
if Assigned(FOnCalcProgress) then FOnCalcProgress(row, ALines.Y);
Grow.Y := AMin.Y + row*AStep.Y;
for col:=0 to ALines.X-1 do begin
if Assigned(FOnCalcCancel) then if FOnCalcCancel then Exit;
Grow.X := AMin.X + col*AStep.X;
// FindNearPoints(Grow);
case FSearchMethod of
smNorm: FindPoints0(Grow);
smQuad: FindPointsN(4, Grow);
smOct: FindPointsN(8, Grow);
smAll: FNearPoints := FTopoData.Count;
end;
zval := 0.0;
wg2 := 0.0;
for pnt:=0 to FNearPoints-1 do begin
// Diff.X := Grow.X - PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.X;
// Diff.Y := Grow.Y - PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.Y;
Diff.X := Grow.X - TopoData[FPointsPtr[pnt]].X;
Diff.Y := Grow.Y - TopoData[FPointsPtr[pnt]].Y;
wg1 := Power(Diff.X*Diff.X + Diff.Y*Diff.Y, pow2);
if wg1 < MinDouble then wg1 := MinDouble;
// zval := zval + PPoint3D(FTopoData.Items[FPointsPtr[pnt]])^.Z/wg1;
zval := zval + TopoData[FPointsPtr[pnt]].Z/wg1;
wg2 := wg2 + 1.0/wg1;
end;
if wg2 > 0.0 then
FGrid[col][row] := zval/wg2
else
FGrid[col][row] := MaxDouble;
end;
end;
Result := ALines.Y;
end;
//C#
private int InvDistProc(double APow, Point ALines, Point2D AStep, Point3D AMin) {
int row, col, pnt;
double pow2;
double GrowX, GrowY, DiffX, DiffY;
double zval, wg2, wg1;
pow2 = APow / 2.0;
for (row = 0; row < ALines.Y; row++) {
CalcEvent.CalcProgressHandler(row + 1, ALines.Y);
GrowY = AMin.Y + row * AStep.Y;
for (col = 0; col < ALines.X; col++) {
// if (CalcEvent.CalcCancelHandler()) return -2;
GrowX = AMin.X + col * AStep.X;
// FindNearPoints(Grow);
switch (FSearchMethod) {
case TSearchMethod.smNorm: FindPoints0(GrowX, GrowY); break;
case TSearchMethod.smQuad: FindPointsN(4, GrowX, GrowY); break;
case TSearchMethod.smOct: FindPointsN(8, GrowX, GrowY); break;
case TSearchMethod.smAll: FNearPoints = FTopoData.Count; break;
}
zval = 0.0;
wg2 = 0.0;
for (pnt = 0; pnt < FNearPoints; pnt++) {
DiffX = GrowX - FTopoData[FPointsPtr[pnt]].X;
DiffY = GrowY - FTopoData[FPointsPtr[pnt]].Y;
wg1 = Math.Pow(DiffX * DiffX + DiffY * DiffY, pow2);
if (wg1 < double.MinValue) wg1 = double.MinValue;
zval = zval + FTopoData[FPointsPtr[pnt]].Z / wg1;
wg2 = wg2 + 1.0 / wg1;
}
if (wg2 > 0.0)
FGrid[col, row] = zval / wg2;
else
FGrid[col, row] = double.MaxValue;
}
}
return ALines.Y;
}
Подскажите пожалуйста
ASP.NET на C#
Описание:Пишу репорты из базы. Нужен репорт такой чтобы в селект подставлялась дата из календаря (Calendar1) на форме с SqlDataSource1
Код: <asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:hmlog_con %>"
ProviderName="<%$ ConnectionStrings:hmlog_con.ProviderName %>"
SelectCommand="SELECT hmlog.hmlog.* FROM hmlog.hmlog WHERE (eventtime LIKE '2009-10-08%')">
</asp:SqlDataSource>
ASP.NET на C#
Описание:Пишу репорты из базы. Нужен репорт такой чтобы в селект подставлялась дата из календаря (Calendar1) на форме с SqlDataSource1
Код: <asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:hmlog_con %>"
ProviderName="<%$ ConnectionStrings:hmlog_con.ProviderName %>"
SelectCommand="SELECT hmlog.hmlog.* FROM hmlog.hmlog WHERE (eventtime LIKE '2009-10-08%')">
</asp:SqlDataSource>
violant
А в чем проблема в событии SelectionChanged присвоить нужный запрос? Что-то в таком духе:
SqlDataSource1.SelectCommand = string.Format("SELECT ... LIKE '{0:yyyy-MM-dd}%'", CalendarDate);
А еще честнее и правильнее будет в LIKE один раз определить параметр @CalendarDate, определить его в SelectParameters у SqlDataSource, и в обработчике присваивать только этот параметр в нужном формате.
Я так понял поле даты у тебя текстовое?
А в чем проблема в событии SelectionChanged присвоить нужный запрос? Что-то в таком духе:
SqlDataSource1.SelectCommand = string.Format("SELECT ... LIKE '{0:yyyy-MM-dd}%'", CalendarDate);
А еще честнее и правильнее будет в LIKE один раз определить параметр @CalendarDate, определить его в SelectParameters у SqlDataSource, и в обработчике присваивать только этот параметр в нужном формате.
Я так понял поле даты у тебя текстовое?
народ.. помогите написать простой WORDPAD... в C#
sashka01
Цитата:
Надо создать окно, в котором будет RichTextBox и куча кнопочек, на которые будут завязаны функции этого самого RichTextBox-а и их применение к выделенным частям текста.
Цитата:
помогите написать простой WORDPAD... в C#
Надо создать окно, в котором будет RichTextBox и куча кнопочек, на которые будут завязаны функции этого самого RichTextBox-а и их применение к выделенным частям текста.
sashka01
Посмотри тут: WordPad in C#
Посмотри тут: WordPad in C#
Блин, уже не помню регулярные выражения с универа. Как написать шаблон для такой строки
"Начало строки или любая последовательность, обязательно пристутсвующий фрагмент, любая последовательность или конец"?
"Начало строки или любая последовательность, обязательно пристутсвующий фрагмент, любая последовательность или конец"?
ppkp
Во первых почему решил, что циклы работают медленнее на C# ? Да и потом не понятно как работают процедуры из циклов? может в них проблема?
Во первых почему решил, что циклы работают медленнее на C# ? Да и потом не понятно как работают процедуры из циклов? может в них проблема?
BlackVetal
Да по часам проверял - в Delphi 35 сек, в C# 105 сек. Процедуры тоже состоят из аналогичных циклов. Я вообще спросил - может у кого уже встречалось такое. ИМХО это из-за Framework'а.
Да по часам проверял - в Delphi 35 сек, в C# 105 сек. Процедуры тоже состоят из аналогичных циклов. Я вообще спросил - может у кого уже встречалось такое. ИМХО это из-за Framework'а.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
Предыдущая тема: Как удалить/добавить/отключить/включить устройство?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.