Dzielenie stringu według ogranicznika

Dzielenie stringu według ogranicznika
T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Dlaczego ten kod dzieli string po '|' i spacji, a nie po samym znaku '|';

Kopiuj
 var lista: TStringList;
begin
    lista := TStringList.Create();
    try
      lista.Delimiter := '|';
      lista.DelimitedText := dane;

      wpis_.tytul := lista[2];
      wpis_.etykieta := lista[3];
      wpis_.data := StrToDateTime(lista[0]);
      czas_ := StrToTime(lista[1]);
PiXel
  • Rejestracja:prawie 19 lat
  • Ostatnio:ponad 9 lat
  • Postów:98
0

Jeżeli masz Delphi 2006 lub nowsze to możesz ustawić właściwość StrictDelimiter na True.


T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Mam Delphi 7

cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

zawsze mozesz zamienic wszystkie "|" na "#13#10":

Kopiuj
lista.text:=StringReplace(dane, '|', #13#10,  [rfReplaceAll]);
edytowany 2x, ostatnio: cimak
T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Zrobiłem tak, że spacje pozamieniałem na '_', a później to odwróciłem.

T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Teraz mam taki problem, że na formie mam CoolTrayIcon dzięki, któremu okno schodzi do traya przy minimalizacji. Lecz nie potrafię zrobić, żeby minimalizowało się przy starcie ;/, próbowałem ShowWindow, SendMessage i nic. Application.Minimize minimalizuje okno i od razu maksymalizuje(ten efekt jest dobrze widoczny).
Jakieś rady ?

Już sobie poradziłem.

Mam inne pytanie :) Czy to jest poprawne dodanie klucza do rejestru, aby program uruchamiał się przy starcie

Kopiuj
procedure TForm3.dodaj_klucz();
var reg : TRegistry;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true);
    if not reg.ValueExists('prog) then
      reg.WriteString('prog', Application.ExeName);
  finally
    reg.CloseKey;
    reg.free;
  end;
end;

Dostaje error : Cannot create key i czy to jest błąd w programie czy może wynika to z faktu, że działam na Viscie i program nie ma uprawnień ?

edytowany 2x, ostatnio: tobix10
RedbaK
  • Rejestracja:prawie 19 lat
  • Ostatnio:ponad 7 lat
  • Lokalizacja:Helsingør / FZ
  • Postów:1051
0

W inspektorze obiektów CoolTrayIcon:

Kopiuj
MinimizeToTray := True;

W zdarzeniu OnStartUp wklep:

Kopiuj
ShowMainForm:=false;

W zdarzeniu OnClick wklep:

Kopiuj
CoolTrayIcon1.ShowMainForm;

Jeśli chodzi o startowanie aplikacji przy starcie systemu, to ja osobiście tworzę sobie raz skrót programu i dodaję kodem do ścieżki autostart, wcześniej ją rozpoznając też kodem. Gdy chcę usunąć z autostaru aplikację to po prostu usuwam ten skrót ze ścieżki autostartu jak zwykły plik. :P
Nie bawię się w rejestry.

Pozdrawiam.

edytowany 1x, ostatnio: RedbaK
T1
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Okazało się, że program musi być uruchamiany jako administrator.

Dodałem klucz do rejestru, w programie używam ścieżek typu './plik.txt' i przy uruchomieniu programu przy starcie systemu wyskakuje mi MessageBox z błędem wczytywania danych z pliku. Czego to może być wina ?

edytowany 1x, ostatnio: tobix10
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:2 minuty
0

Dlaczego ten kod dzieli string po '|' i spacji, a nie po samym znaku '|';
Bo takie to jest. Pojedyncze człony powinny być w cudzysłowach
"ala ma"|"kota"
żeby nie dzieliło na spacjach.

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Gorlice
0

Jeżeli program ma być tylko dla danego użytkownika to daj HKEY_CURRENT_USER zamiast HKEY_LOCAL_MACHINE bo inaczej na Vista i nowszych będą wymagane prawa admina.

EDIT//Nie wiem jak na XP ale na 98 nie


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 2x, ostatnio: kAzek
deus
A na wcześniejszych to niby nie?
Azarien
Na XP użytkownik ograniczony (nie admin) może nie mieć dostępu. Na 98 nie ma innego typu konta jak "admin".
deus
Nie-admin to nie użytkownik ograniczony, o to właśnie chodziło, że Vista niczego nie zmieniła, taka konfiguracja uprawnień kluczy była od zawsze.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.