Autor Beitrag
xSkaschY
Hält's aus hier
Beiträge: 5

Windows Vista Ultimate
D2007
BeitragVerfasst: Fr 16.09.05 13:07 
Hallo liebe Delphi-Community,

Ich habe ein Problem mit meinem Programmchen. Und zwar wollte ich aus eine INI-Datei die label-Namen auslesen, sowie die dazugehörige label-Styledefinition.

Das alles funktioniert auch, ich habe die label-Namen in einem TSringDynArray, nur kann ich die Daten, also die label-Namen in dem Array, nicht wirklich weiter verarbeiten, weil wenn ich folgendes mache;
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
for i:=0 to High(labels) do begin
   main_form.labels[i].Font := ini.ReadString(inilabels[y], 'family','');
   // many more stuff ...
   y:= y+1;
end;

gibs ein Error.

Den Kompletten Source-Code seht Ihr hier. Eine INI-Datei findet Ihr im Dateianhang.

ausblenden volle Höhe Delphi-Quelltext
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:
413:
414:
415:
416:
417:
418:
procedure Tmain_form.FormCreate(Sender: TObject);
var
  flashexe: String;
  abspath: String;
  ini: TIniFile;
  style: TStringDynArray;
  labels: TStringDynArray;
  inilabels: TStringDynArray;
  labelmessage: String;
  x: integer;
  y: integer;
  i: integer;
begin
  with TRegistry.Create do try
    Rootkey:=HKEY_CURRENT_USER;
    if OpenKey('Software\xSkaschY\OFPR Starter',True) then begin

      if ReadString('start_minimized') = 'yes' then Application.Minimize;

      flashexe := ReadString('flashexe');

      //********************************** IMAGE STYLE START ********************************//
      abspath := ReadString('installdir') + '\styles\' + ReadString('style') + '\';
      img_background.Picture.LoadFromFile(abspath + '\background.jpg');
      img_setup.Picture.LoadFromFile(abspath + '\setup.jpg');
      img_minimize.Picture.LoadFromFile(abspath + '\minimize.jpg');
      img_close.Picture.LoadFromFile(abspath + '\close.jpg');
      img_launch.Picture.LoadFromFile(abspath + '\game_launch.jpg');
      img_join.Picture.LoadFromFile(abspath + '\game_join.jpg');
      img_serverdetails.Picture.LoadFromFile(abspath + '\server_details.jpg');
      img_query.Picture.LoadFromFile(abspath + '\server_query.jpg');
      //********************************** IMAGE STYLE END ********************************//

      //********************************** CHECKBOX SELECTED START ********************************//
      if ReadString('nosplash') = 'yes' then no_splash.Checked := true else no_splash.Checked := false;
      if ReadString('windowed') = 'yes' then windowed.Checked := true else windowed.Checked := false;
      if ReadString('dxdll') = 'yes' then dxdll.Checked := true else dxdll.Checked := false;
      if ReadString('llaumax') = 'yes' then llaumax.Checked := true else  llaumax.Checked := false;
      if ReadString('twomon') = 'yes' then twomons.Checked := true else  twomons.Checked := false;
      if ReadString('benchmark') = 'yes' then benchmark.Checked := true else  benchmark.Checked := false;
      if ReadString('nodmusic') = 'yes' then nodmusic.Checked := true else  nodmusic.Checked := false;
      if ReadString('nosound') = 'yes' then nosound.Checked := true else  nosound.Checked := false;
      if ReadString('beta196') = 'yes' then beta196_start.Checked := true else  beta196_start.Checked := false;
      if Length(ReadString('mods')) > 0 then startup_mod.Text :=  ReadString('mods');
      //********************************** CHECKBOX SELECTED END ********************************//
    end;
  finally
    Free;
  end;

  //********************************** NOTIFY ICON START **********************************//
  TaskBarNewReg := RegisterWindowMessage('TaskbarCreated');
  IconData.cbSize := SizeOf(IconData);
  IconData.Wnd := Handle;
  IconData.uID := 0;
  IconData.uFlags :=  NIF_ICON or NIF_MESSAGE or NIF_TIP;
  IconData.uCallBackMessage := WM_USER + 20;
  IconData.hIcon := Application.Icon.Handle;

  If InternetGetConnectedState(nil0then IconData.szTip := 'Ich bin im Online mode'
  else IconData.szTip := 'Ich bin im Offline mode';

  Shell_NotifyIcon(NIM_ADD, @IconData);
  //********************************** NOTIFY ICON END **********************************//

  //********************************** STYLE START **********************************//
  ini:=TIniFile.Create(abspath + '\styleconfig.ini');
  //********************************** GLOBAL FONT STYLE START **********************************//
  main_form.Font.Name := ini.ReadString('font_settings','family','');
  main_form.Font.Size  := ini.ReadInteger('font_settings','size',0);
  main_form.Font.Color := HtmlColorToColor(ini.ReadString('font_settings','color',''));
  //********************************** GLOBAL FONT STYLE END **********************************//
  //********************************** BUTTON STYLE START **********************************//
  img_setup.Left := ini.ReadInteger('setup_button','positionX',0);
  img_setup.Top := ini.ReadInteger('setup_button','positionY',0);
  img_setup.Width := ini.ReadInteger('setup_button','width',0);
  img_setup.Height := ini.ReadInteger('setup_button','height',0);

  img_minimize.Left := ini.ReadInteger('minimize_button','positionX',0);
  img_minimize.Top := ini.ReadInteger('minimize_button','positionY',0);
  img_minimize.Width := ini.ReadInteger('minimize_button','width',0);
  img_minimize.Height := ini.ReadInteger('minimize_button','height',0);

  img_close.Left := ini.ReadInteger('close_button','positionX',0);
  img_close.Top := ini.ReadInteger('close_button','positionY',0);
  img_close.Width := ini.ReadInteger('close_button','width',0);
  img_close.Height := ini.ReadInteger('close_button','height',0);

  img_launch.Left := ini.ReadInteger('launch_button','positionX',0);
  img_launch.Top := ini.ReadInteger('launch_button','positionY',0);
  img_launch.Width := ini.ReadInteger('launch_button','width',0);
  img_launch.Height := ini.ReadInteger('launch_button','height',0);

  img_serverdetails.Left := ini.ReadInteger('server_button','positionX',0);
  img_serverdetails.Top := ini.ReadInteger('server_button','positionY',0);
  img_serverdetails.Width := ini.ReadInteger('server_button','width',0);
  img_serverdetails.Height := ini.ReadInteger('server_button','height',0);

  img_join.Left := ini.ReadInteger('join_button','positionX',0);
  img_join.Top := ini.ReadInteger('join_button','positionY',0);
  img_join.Width := ini.ReadInteger('join_button','width',0);
  img_join.Height := ini.ReadInteger('join_button','height',0);

  img_query.Left := ini.ReadInteger('query_button','positionX',0);
  img_query.Top := ini.ReadInteger('query_button','positionY',0);
  img_query.Width := ini.ReadInteger('query_button','width',0);
  img_query.Height := ini.ReadInteger('query_button','height',0);
  //********************************** BUTTON STYLE END **********************************//
  //********************************** SERVER LABEL STYLE START **********************************//
  label_server_hostname.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_version.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_type.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_status.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_mission.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_world.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_players.Font.Name := ini.ReadString('font_server_labels','family','');
  label_server_latency.Font.Name := ini.ReadString('font_server_labels','family','');

  label_server_hostname.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_version.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_type.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_status.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_mission.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_world.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_players.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));
  label_server_latency.Font.Color := HtmlColorToColor(ini.ReadString('font_server_labels','color',''));

  label_server_hostname.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_version.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_type.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_status.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_mission.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_world.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_players.Font.Size := ini.ReadInteger('font_server_labels','size',0);
  label_server_latency.Font.Size := ini.ReadInteger('font_server_labels','size',0);

  style := explode(';', ini.ReadString('font_server_labels','style',''));
  for x:=0 to High(style) do begin
    if style[x] = 'bold' then label_server_hostname.Font.Style := label_server_hostname.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_hostname.Font.Style := label_server_hostname.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_hostname.Font.Style := label_server_hostname.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_hostname.Font.Style := label_server_hostname.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_version.Font.Style := label_server_version.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_version.Font.Style := label_server_version.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_version.Font.Style := label_server_version.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_version.Font.Style := label_server_version.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_type.Font.Style := label_server_type.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_type.Font.Style := label_server_type.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_type.Font.Style := label_server_type.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_type.Font.Style := label_server_type.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_status.Font.Style := label_server_status.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_status.Font.Style := label_server_status.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_status.Font.Style := label_server_status.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_status.Font.Style := label_server_status.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_mission.Font.Style := label_server_mission.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_mission.Font.Style := label_server_mission.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_mission.Font.Style := label_server_mission.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_mission.Font.Style := label_server_mission.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_world.Font.Style := label_server_world.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_world.Font.Style := label_server_world.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_world.Font.Style := label_server_world.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_world.Font.Style := label_server_world.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_players.Font.Style := label_server_players.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_players.Font.Style := label_server_players.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_players.Font.Style := label_server_players.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_players.Font.Style := label_server_players.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then label_server_latency.Font.Style := label_server_latency.Font.Style+[fsBold];
    if style[x] = 'italic' then label_server_latency.Font.Style := label_server_latency.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_server_latency.Font.Style := label_server_latency.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_server_latency.Font.Style := label_server_latency.Font.Style+[fsStrikeOut];
  end;
  //********************************** SERVER LABEL STYLE END **********************************//
  //********************************** SERVER RESULT STYLE START **********************************//
  server_hostname.Font.Name := ini.ReadString('font_server_results','family','');
  server_version.Font.Name := ini.ReadString('font_server_results','family','');
  server_status.Font.Name := ini.ReadString('font_server_results','family','');
  server_action.Font.Name := ini.ReadString('font_server_results','family','');
  server_mission.Font.Name := ini.ReadString('font_settings','family','');
  server_world.Font.Name := ini.ReadString('font_server_results','family','');
  server_player.Font.Name := ini.ReadString('font_server_results','family','');
  server_latency.Font.Name := ini.ReadString('font_server_results','family','');

  server_hostname.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_version.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_status.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_action.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_mission.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_world.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_player.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));
  server_latency.Font.Color := HtmlColorToColor(ini.ReadString('font_server_results','color',''));

  server_hostname.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_version.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_status.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_action.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_mission.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_world.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_player.Font.Size := ini.ReadInteger('font_server_results','size',0);
  server_latency.Font.Size := ini.ReadInteger('font_server_results','size',0);

  style := explode(';', ini.ReadString('font_server_results','style',''));
  for x:=0 to High(style) do begin
    if style[x] = 'bold' then server_hostname.Font.Style := server_hostname.Font.Style+[fsBold];
    if style[x] = 'italic' then server_hostname.Font.Style := server_hostname.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_hostname.Font.Style := server_hostname.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_hostname.Font.Style := server_hostname.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_version.Font.Style := server_version.Font.Style+[fsBold];
    if style[x] = 'italic' then server_version.Font.Style := server_version.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_version.Font.Style := server_version.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_version.Font.Style := server_version.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_status.Font.Style := server_status.Font.Style+[fsBold];
    if style[x] = 'italic' then server_status.Font.Style := server_status.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_status.Font.Style := server_status.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_status.Font.Style := server_status.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_action.Font.Style := server_action.Font.Style+[fsBold];
    if style[x] = 'italic' then server_action.Font.Style := server_action.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_action.Font.Style := server_action.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_action.Font.Style := server_action.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_mission.Font.Style := server_mission.Font.Style+[fsBold];
    if style[x] = 'italic' then server_mission.Font.Style := server_mission.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_mission.Font.Style := server_mission.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_mission.Font.Style := server_mission.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_world.Font.Style := server_world.Font.Style+[fsBold];
    if style[x] = 'italic' then server_world.Font.Style := server_world.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_world.Font.Style := server_world.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_world.Font.Style := server_world.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_player.Font.Style := server_player.Font.Style+[fsBold];
    if style[x] = 'italic' then server_player.Font.Style := server_player.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_player.Font.Style := server_player.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_player.Font.Style := server_player.Font.Style+[fsStrikeOut];

    if style[x] = 'bold' then server_latency.Font.Style := server_latency.Font.Style+[fsBold];
    if style[x] = 'italic' then server_latency.Font.Style := server_latency.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_latency.Font.Style := server_latency.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_latency.Font.Style := server_latency.Font.Style+[fsStrikeOut];
  end;
  //********************************** SERVER RESULT STYLE END **********************************//
  //********************************** MOD INPUT START **********************************//
  startup_mod.Font.Name := ini.ReadString('input_mod','name','');
  startup_mod.Font.Size := ini.ReadInteger('input_mod','size',0);
  if Length(ini.ReadString('input_mod','color','')) > 0 then startup_mod.Font.Color := HtmlColorToColor(ini.ReadString('input_mod','color',''));
  if ini.ReadInteger('input_mod''positionX',0) > 0 then begin
    startup_mod.Left := ini.ReadInteger('input_mod''positionX',0);
    startup_mod.Top := ini.ReadInteger('input_mod''positionY',0);
  end;
  if ini.ReadInteger('input_mod''width',0) > 0 then begin
    startup_mod.Width := ini.ReadInteger('input_mod''width',0);
    startup_mod.Height := ini.ReadInteger('input_mod''height',0);
  end;
  style := explode(';', ini.ReadString('input_mod','style',''));
  for x:=0 to High(style) do begin
    if style[x] = 'bold' then startup_mod.Font.Style := startup_mod.Font.Style+[fsBold];
    if style[x] = 'italic' then startup_mod.Font.Style := startup_mod.Font.Style+[fsItalic];
    if style[x] = 'underline' then startup_mod.Font.Style := startup_mod.Font.Style+[fsUnderline];
    if style[x] = 'striked' then startup_mod.Font.Style := startup_mod.Font.Style+[fsStrikeOut];
  end;
  if ini.ReadString('input_mod','flat','') = 'yes' then begin
    startup_mod.BevelInner := bvLowered;
    startup_mod.BevelKind := bkFlat;
    startup_mod.BevelOuter := bvNone;
    startup_mod.BorderStyle := bsNone;
  end;
  //********************************** MOD INPUT END **********************************//

  //********************************** SERVER IP INPUT START **********************************//
  server_ip.Font.Name := ini.ReadString('input_ip','name','');
  server_ip.Font.Size := ini.ReadInteger('input_ip','size',0);
  if Length(ini.ReadString('input_ip','color','')) > 0 then server_ip.Font.Color := HtmlColorToColor(ini.ReadString('input_ip','color',''));
  if ini.ReadInteger('input_ip''positionX',0) > 0 then begin
    server_ip.Left := ini.ReadInteger('input_ip''positionX',0);
    server_ip.Top := ini.ReadInteger('input_ip''positionY',0);
  end;
  if ini.ReadInteger('input_ip''width',0) > 0 then begin
    server_ip.Width := ini.ReadInteger('input_ip''width',0);
    server_ip.Height := ini.ReadInteger('input_ip''height',0);
  end;
  style := explode(';', ini.ReadString('input_ip','style',''));
  for x:=0 to High(style) do begin
    if style[x] = 'bold' then server_ip.Font.Style := server_ip.Font.Style+[fsBold];
    if style[x] = 'italic' then server_ip.Font.Style := server_ip.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_ip.Font.Style := server_ip.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_ip.Font.Style := server_ip.Font.Style+[fsStrikeOut];
  end;
  if ini.ReadString('input_ip','flat','') = 'yes' then begin
    server_ip.BevelInner := bvLowered;
    server_ip.BevelKind := bkFlat;
    server_ip.BevelOuter := bvNone;
    server_ip.BorderStyle := bsNone;
  end;
  //********************************** SERVER IP INPUT END **********************************//
  //********************************** SERVER PORT INPUT START **********************************//
  server_port.Font.Name := ini.ReadString('input_port','name','');
  server_port.Font.Size := ini.ReadInteger('input_port','size',0);
  if Length(ini.ReadString('input_port','color','')) > 0 then server_port.Font.Color := HtmlColorToColor(ini.ReadString('input_port','color',''));
  if ini.ReadInteger('input_port''positionX',0) > 0 then begin
    server_port.Left := ini.ReadInteger('input_port''positionX',0);
    server_port.Top := ini.ReadInteger('input_port''positionY',0);
  end;
  if ini.ReadInteger('input_port''width',0) > 0 then begin
    server_port.Width := ini.ReadInteger('input_port''width',0);
    server_port.Height := ini.ReadInteger('input_port''height',0);
  end;
  style := explode(';', ini.ReadString('input_port','style',''));
  for x:=0 to High(style) do begin
    if style[x] = 'bold' then server_port.Font.Style := server_port.Font.Style+[fsBold];
    if style[x] = 'italic' then server_port.Font.Style := server_port.Font.Style+[fsItalic];
    if style[x] = 'underline' then server_port.Font.Style := server_port.Font.Style+[fsUnderline];
    if style[x] = 'striked' then server_port.Font.Style := server_port.Font.Style+[fsStrikeOut];
  end;
  if ini.ReadString('input_port','flat','') = 'yes' then begin
    server_port.BevelInner := bvLowered;
    server_port.BevelKind := bkFlat;
    server_port.BevelOuter := bvNone;
    server_port.BorderStyle := bsNone;
  end;
  //********************************** SERVER PORT INPUT END **********************************//
  //********************************** TIP OF THE DAY STYLE START **********************************//
  label_tipoftheday_head.Font.Name := ini.ReadString('font_tipoftheday_title','name','');
  label_tipoftheday_head.Font.Size := ini.ReadInteger('font_tipoftheday_title','size',0);
  if Length(ini.ReadString('font_tipoftheday_title','color','')) > 0 then label_tipoftheday_head.Font.Color := HtmlColorToColor(ini.ReadString('font_tipoftheday_title','color',''));
  if ini.ReadInteger('font_tipoftheday_title''positionX',0) > 0 then begin
    label_tipoftheday_head.Left := ini.ReadInteger('font_tipoftheday_title''positionX',0);
    label_tipoftheday_head.Top := ini.ReadInteger('font_tipoftheday_title''positionY',0);
  end;
  style := explode(';', ini.ReadString('font_tipoftheday_title','style','')); // String in Array speichern.
  for x:=0 to High(style) do begin // alle Elemente durchlaufen
    if style[x] = 'bold' then label_tipoftheday_head.Font.Style := label_tipoftheday_head.Font.Style+[fsBold];
    if style[x] = 'italic' then label_tipoftheday_head.Font.Style := label_tipoftheday_head.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_tipoftheday_head.Font.Style := label_tipoftheday_head.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_tipoftheday_head.Font.Style := label_tipoftheday_head.Font.Style+[fsStrikeOut];
  end;
  //********************************** TIP OF THE DAY STYLE END **********************************//
  //********************************** BETA 196.b STYLE START **********************************//
  label_beta196.Font.Name := ini.ReadString('font_beta196b','name','');
  label_beta196.Font.Size := ini.ReadInteger('font_beta196b','size',0);
  if Length(ini.ReadString('font_beta196b','color','')) > 0 then label_beta196.Font.Color := HtmlColorToColor(ini.ReadString('font_beta196b','color',''));
  if ini.ReadInteger('font_beta196b''positionX',0) > 0 then begin
    label_beta196.Left := ini.ReadInteger('font_beta196b''positionX',0);
    label_beta196.Top := ini.ReadInteger('font_beta196b''positionY',0);
  end;
  style := explode(';', ini.ReadString('font_beta196b','style','')); // String in Array speichern.
  for x:=0 to High(style) do begin // alle Elemente durchlaufen
    if style[x] = 'bold' then label_beta196.Font.Style := label_beta196.Font.Style+[fsBold];
    if style[x] = 'italic' then label_beta196.Font.Style := label_beta196.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_beta196.Font.Style := label_beta196.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_beta196.Font.Style := label_beta196.Font.Style+[fsStrikeOut];
  end;
  //********************************** BETA 196.b STYLE END **********************************//
  //********************************** BETA 196.b (?) STYLE START **********************************//
  label_help_196b.Font.Name := ini.ReadString('font_beta196b_help','name','');
  label_help_196b.Font.Size := ini.ReadInteger('font_beta196b_help','size',0);
  if Length(ini.ReadString('font_beta196b_help','color','')) > 0 then label_help_196b.Font.Color := HtmlColorToColor(ini.ReadString('font_beta196b_help','color',''));
  if ini.ReadInteger('font_beta196b_help''positionX',0) > 0 then begin
    label_help_196b.Left := ini.ReadInteger('font_beta196b_help''positionX',0);
    label_help_196b.Top := ini.ReadInteger('font_beta196b_help''positionY',0);
  end;
  style := explode(';', ini.ReadString('font_beta196b_help','style','')); // String in Array speichern.
  for x:=0 to High(style) do begin // alle Elemente durchlaufen
    if style[x] = 'bold' then label_help_196b.Font.Style := label_help_196b.Font.Style+[fsBold];
    if style[x] = 'italic' then label_help_196b.Font.Style := label_help_196b.Font.Style+[fsItalic];
    if style[x] = 'underline' then label_help_196b.Font.Style := label_help_196b.Font.Style+[fsUnderline];
    if style[x] = 'striked' then label_help_196b.Font.Style := label_help_196b.Font.Style+[fsStrikeOut];
  end;
  //********************************** BETA 196.b (?) STYLE END **********************************//
  //********************************** CAN READ ALL ITEMS (IT WORKS BUT CAN'T DEFINE) START **********************************//
  {style := explode(';', ini.ReadString('items','labels','')); // String in Array speichern.
  SetLength(labels, High(style));
  for x:=Low(labels) to High(labels) do begin
    labels[x] := style[x];
  end;

  style := explode(';', ini.ReadString('items','inilabels ','')); // String in Array speichern.
  SetLength(inilabels , High(style));
  for x:=Low(inilabels ) to High(inilabels ) do begin
    inilabels [x] := style[x];
  end;
  y:= 0;

  for i:=0 to High(labels) do begin // alle Elemente durchlaufen
    //main_form.labels[i].Font := ini.ReadString(inilabels[y], 'family','');
    //main_form.labels[i].Color := HtmlColorToColor(ini.ReadString(inilabels[y],'color',''));
    //main_form.labels[i].Size := ini.ReadInteger('input_mod','size',0);

    labelmessage := 'label ' + labels[i] + ' is @ ini: ' + inilabels[y];
    if Length(ini.ReadString(inilabels[y], 'family','')) > 0 then labelmessage := labelmessage +#13+#10+ 'font-family: '+ ini.ReadString(inilabels[y], 'family','');
    if ini.ReadInteger(inilabels[y], 'size',0) > 0 then labelmessage := labelmessage +#13+#10+ 'font-size: '+ inttostr(ini.ReadInteger(inilabels[y], 'size',0));
    if Length(ini.ReadString(inilabels[y], 'family','')) > 0 then labelmessage := labelmessage +#13+#10+ 'font-color: '+ ini.ReadString(inilabels[y], 'color','');
    if Length(ini.ReadString(inilabels[y], 'bgcolor','')) > 0 then labelmessage := labelmessage +#13+#10+ 'bg-color: '+ ini.ReadString(inilabels[y], 'bgcolor','');

    style := explode(';', ini.ReadString(inilabels[y],'style','')); // String in Array speichern.
    for x:=0 to High(style) do begin
      if style[x] = 'bold' then labelmessage := labelmessage +#13+#10+ 'font-style: bold';
      if style[x] = 'italic' then labelmessage := labelmessage +#13+#10+ 'font-style: italic';
      if style[x] = 'underline' then labelmessage := labelmessage +#13+#10+ 'font-style: underline';
      if style[x] = 'striked' then labelmessage := labelmessage +#13+#10+ 'font-style: striked';
    end;

    if ini.ReadInteger(inilabels[y], 'width',0) > 0 then labelmessage := labelmessage +#13+#10+ 'width: '+ ini.ReadString(inilabels[y], 'width','') +#13+#10+ 'height: ' + ini.ReadString(inilabels[y], 'height','');
    if ini.ReadInteger(inilabels[y], 'positionX',0) > 0 then labelmessage := labelmessage +#13+#10+ 'left: '+ ini.ReadString(inilabels[y], 'positionX','')  +#13+#10+ 'top: ' + ini.ReadString(inilabels[y], 'positionY','');
    if Length(ini.ReadString(inilabels[y], 'flat','')) > 0 then labelmessage := labelmessage +#13+#10+ 'button flat: '+ ini.ReadString(inilabels[y], 'flat','');
    y:= y+1;
  end;}

  //********************************** CAN READ ALL ITEMS (IT WORKS BUT CAN'T DEFINE) END **********************************//
  //********************************** STYLE END ********************************//
end;


Weiss jemand wie ich diese Problem umgehen kann?

Mit freundlichen Grüssen
Toby
Einloggen, um Attachments anzusehen!
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 16.09.05 13:13 
:welcome: im DF.

Pack das mal ins FormActivate. Im FormCreate sind die Labels vermutlich noch nicht verfügbar. Somit musst du
eine Zugriffsverletzung bekommen.
xSkaschY Threadstarter
Hält's aus hier
Beiträge: 5

Windows Vista Ultimate
D2007
BeitragVerfasst: Fr 16.09.05 13:18 
Danke @jasocul für die schnelle Antwort :)
Werd das heute Abend mal ausprobieren, und mich dann morgen wieder melden, "wie blöd das doch ist wenn man mitten im Umzug steckt und kein I-Net zu hause hat", da ich nur auf der Arbeit online bin.

Grüssle Toby

€dit:
Noch eine anmerkung, die labels sollten doch verfügbar sein, da ich sie zur Zeit direkt anspreche, also
ausblenden Delphi-Quelltext
1:
2:
3:
4:
//********************************** SERVER LABEL STYLE START *********************************//
label_server_hostname.Font.Name := ini.ReadString('font_server_labels','family','');
label_server_version.Font.Name := ini.ReadString('font_server_labels','family','');
// usw...

Oder freunded sich Delphi nicht gern mit "noch nicht in array geschrieben vars" an?
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 16.09.05 13:24 
Probier es einfach mal aus. Ich habe diese oder ähnliche Phänomene im FormCreate schon öfter erlebt.
xSkaschY Threadstarter
Hält's aus hier
Beiträge: 5

Windows Vista Ultimate
D2007
BeitragVerfasst: Mo 19.09.05 10:33 
Hallo,
so melde mich nochmal, hat leider nicht funktioniert, werd wohl die ganzen zeilen stehen lassen.

Gruss Toby
Felux
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57

WinXP Home + Sp1
D6 Pers(eng), D2005 Prof(de), Webocton Scriptly, C# (VS 2005 Express), Eclipse
BeitragVerfasst: Di 20.09.05 23:41 
Hi,
ich hab 2 Vermutungen:

1.) Das Array "Style" wird nicht mit Daten gefüttert, so wie du das mit der Explodefunktion machen möchtest. -> ich find in der ini-Datei keine Section mit dem Namen [items].

und

2.) Hast du vielleicht ein Record mit dem Namen "labels" definiert? Weil die Zeile sagt zumindest mir, dass du ein Typ ansprichst:

ausblenden Delphi-Quelltext
1:
//main_form.labels[i].Font := ini.ReadString(inilabels[y], 'family','');					


Vielleicht hilft es einfach, das Array "labels" umzubenennen. Aber sicher bin ich mir da nicht.


Was beinhaltet deine Fehlermeldung?