powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Stringgrid получить значение ячейки
17 сообщений из 17, страница 1 из 1
Stringgrid получить значение ячейки
    #40125398
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрых суток,

Пытаюсь получить значение ячейки, но не могу,
Код: pascal
1.
 ShowMessage(StringGrid1.Cells[ACol,ARow]);



И подозрение у меня что потому что я перерисовываю stringgrid

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='т/м';
      end  ;
end;
  ///////////////////////////////////////////////////////////////////////




  StringGrid1.Canvas.FrameRect(System.Classes.Rect(Rect.Left-6,Rect.Top-2,Rect.Right,Rect.Bottom));

  if xFilled then begin
    StringGrid1.Canvas.Brush.Color:=clYellow;
    StringGrid1.Canvas.FillRect(Rect);
  end
  else StringGrid1.Canvas.Brush.Color:=clWhite;

  DrawText(StringGrid1.Canvas.Handle,PChar(s),Length(s),Rect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);




как победить?
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125399
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "не могу"?
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125400
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получаю пустую строку.
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125408
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23,

Значит ты туда ничего не писал.
Или менял размер грида.
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125416
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FIL23
Добрых суток,

И подозрение у меня что потому что я перерисовываю stringgrid

как победить?

А всю процедуру перерисовки привести было в лень?
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125527
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
northener
FIL23
Добрых суток,

И подозрение у меня что потому что я перерисовываю stringgrid

как победить?

А всю процедуру перерисовки привести было в лень?


Код: pascal
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.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
procedure TfmGeneral.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s: String;
    Rect1,Rect2: TRect;
    xFilled: Boolean;


    i,perX1,perY1,perX2,perY2:integer;

begin
StringGrid1.Canvas.Brush.Color:=clBlack;

if ARow=0 then
 begin
  perX1:=0;
  perX2:=0;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Длина пролета';
  end  ;


  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2]  then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Распределенная нагрузка';
  end  ;


  perX1:=perX1+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Нагрузка на ось, т';
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Расстояния между осями машин считая от середины пролета, м';
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Ординаты от оси';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,0);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Момент в середине от установленных нагрузок, тм';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Суммарный изгибающий момент';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Эквивалентная нагрузка';
  end  ;
 end;

  ////////////////ВТОРАЯ СТРОКА/////////////////////////////////////////////////
if ARow=1 then
 begin
  perX1:=0;
  perX2:=0;
  if (ARow=1) and (ACol in [perX1..perX2]) then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Длина пролета';
  end  ;

  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2]  then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Распределенная нагрузка';
  end  ;

  perX1:=2;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //нагрузка на ось
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Расстояния между осями машин считая от середины пролета
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Расстояния между осями машин считая от середины пролета
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Ординаты от оси
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //Ординаты от оси
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Ординаты от оси
  end  ;


  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCentralAxle-2;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Слева от середины';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='В середине пролета';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1+gperStringGridCountAxle-gperStringGridCentralAxle-1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,1);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Справа от середины';   //Момент в середине от установленных нагрузок, тм
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Суммарный изгибающий момент';
  end  ;

  perX1:=perX2+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,0);
    Rect2:=StringGrid1.CellRect(perX2,1);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='Эквивалентная нагрузка';
  end  ;
 end;
  ///////////////////////////////////////////////////////////////////////


 ////////////////////////ТРЕТЬЯ СТРОКА//////////////////////////////////////////
if ARow=2 then
 begin
  perX1:=0;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,2);
    Rect2:=StringGrid1.CellRect(perX2,2);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='м';
  end  ;

  perX1:=perX1+1;
  perX2:=perX1;
  if ACol in [perX1..perX2] then begin
    Rect1:=StringGrid1.CellRect(perX1,2);
    Rect2:=StringGrid1.CellRect(perX2,2);
    Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
    s:='т';
  end  ;


  for i:=gperStringGridCentralAxle-1 downto 1 do      //нагрузка на ось, т
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Р'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //нагрузка на ось, т
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Р0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //нагрузка на ось, т
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Р'+inttostr(i);
      end  ;
    end;



  for i:=gperStringGridCentralAxle-1 downto 1 do      //Расстояния между осями машин считая от середины пролета, м
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-a'+inttostr(i);
      end  ;
    end;

   for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Расстояния между осями машин считая от середины пролета, м
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='a'+inttostr(i);
      end  ;
    end;



   for i:=gperStringGridCentralAxle-1 downto 1 do      //Ординаты от оси
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-Y'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //Ординаты от оси
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Y0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Ординаты от оси
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='Y'+inttostr(i);
      end  ;
    end;



   for i:=gperStringGridCentralAxle-1 downto 1 do      //Момент в середине от установленных нагрузок, тм
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='-P'+inttostr(i);
      end  ;
    end;

    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='P0';
      end  ;

  for i:=1 to gperStringGridCountAxle-gperStringGridCentralAxle do   //Момент в середине от установленных нагрузок, тм
    begin
    perX1:=perX1+1;
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='P'+inttostr(i);
      end  ;
    end;



    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='тм';
      end  ;

    perX1:=perX1+1;                             //Момент в середине от установленных нагрузок, тм
    perX2:=perX1;
      if  ACol in [perX1..perX2] then begin
        Rect1:=StringGrid1.CellRect(perX1,2);
        Rect2:=StringGrid1.CellRect(perX2,2);
        Rect:=System.Classes.Rect(Rect1.Left+4,Rect1.Top,Rect2.Right,Rect2.Bottom);
        s:='т/м';
      end  ;
 end;
  ///////////////////////////////////////////////////////////////////////
  ///
  StringGrid1.Canvas.FrameRect(System.Classes.Rect(Rect.Left-6,Rect.Top-2,Rect.Right,Rect.Bottom));

  StringGrid1.Canvas.Brush.Color:=clWhite;

  DrawText(StringGrid1.Canvas.Handle,PChar(s),Length(s),Rect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
end;
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125530
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FIL23
...

Я атеист, но тут так и хочется воззвать к высшим силам...
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125531
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23,

Так а где вы таки присваиваете значение?
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125541
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Я атеист, но тут так и хочется воззвать к высшим силам...

...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125542
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenko
Так а где вы таки присваиваете значение?

Видимо нигде.

".Cells[" в приведенном коде отсутствует.

Значения на экран выводятся исключительно с помощью неких магических манипуляций, никак не учитывающих содержимого ячеек грида.
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125546
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нейросеть код делала. Сперва спросила: "как показать то, чего нет?" - и ей дали код кастомной отрисовки. Теперь спрашивает: "как узнать значение того, чего нет?".
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125571
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23, ну раз ты и так знаешь, что нарисовать в каждой ячейке - значит и читать ничего не надо))
А вообще чушь голимая...
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125588
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так подскажите как правильно.
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125594
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще этот код позволяет мне сделать шапку
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125599
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FIL23,

а остальное - оператор руками заполняет?
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125600
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкинуть всё это убожество и сделать нормально.

Возьми TZColorStringGrid и настрой отображение без использования OnDrawCell.
...
Рейтинг: 0 / 0
Stringgrid получить значение ячейки
    #40125618
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

оказывается я уже где то его использовал (занимаю программированием в качестве хобби)

https://www.sql.ru/forum/1255961/ustanovka-zcolorstringgrid-v-xe-10

Ок, спасибо. буду вспоминать.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Stringgrid получить значение ячейки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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