Autor Wątek: Dodanie innych wersji tekstu  (Przeczytany 32225 razy)

robert051

  • Gość
Dodanie innych wersji tekstu
« dnia: 06 Grudzień 2010, 22:08:28 »
Witam. Czy dało by radę dodać inną wersje.
Cytuj
Testowo Wschód, 88774 zgłasza się do próby łączności.
Chodzi mnie o:
Cytuj
Testowo Wschód 88774 jak słychać?
Cytuj
Testowo Wschód, 88774 zgłasza się do próby radia.
Te 2 teksty tylko że z innymi nazwami własnymi są zasłyszane z radia kolejowego.
« Ostatnia zmiana: 06 Grudzień 2010, 22:20:06 wysłana przez robert051 »

Offline jageer

  • Projektant
  • Użytkownik
  • Wiadomości: 1395
  • Podg. Papago
    • Zobacz profil
  • Skąd: wieś Papago.
Odp: Dodanie innych wersji tekstu
« Odpowiedź #1 dnia: 06 Grudzień 2010, 22:21:27 »
Względnie TW XXXX zgłasza się do próby łączności po zmianie kanału ;)
PS Paweł, a na szlaku z TZ nie powinno być znaku, że obowiązuje inny kanał łączności ??
Bo chyba go nie ma w wizualizacji ;)

robert051

  • Gość
Odp: Dodanie innych wersji tekstu
« Odpowiedź #2 dnia: 06 Grudzień 2010, 22:32:48 »
Oprócz tego czemu nie ma Pań Dyżurnych w ISDR ?? Często się je spotyka a sami mężczyźni są dyżurnymi. To tak jako dodatek do innej wersji tekstu.

Offline Paweł

  • Administrator
  • Użytkownik
  • Wiadomości: 1050
    • Zobacz profil
  • Skąd: Kęty
Odp: Dodanie innych wersji tekstu
« Odpowiedź #3 dnia: 06 Grudzień 2010, 22:53:08 »
Jak najbardziej mogę coś dodać lub zmienić, aktualnie używana lista tekstów wygląda następująco:

Cytuj
(numer) zgłasza się do próby łączności. (Proszę o wjazd./Wjazdowy na stój.)
(numer), próba łączności. (Proszę o wjazd./Wjazdowy na stój.)
(posterunek), wjazdowy na stój, (z kierunku).
(posterunek), wjazdowy na stój, (numer).
(posterunek), wjazdowy na stój, (z kierunku), (numer).
(posterunek), proszę o wjazd dla (numer).
(posterunek), proszę (numer).
(posterunek), wjazd dla (numer) proszę.
(posterunek), wjazd dla (numer).
(posterunek), wjazd (z kierunku) proszę, (numer).
(posterunek), wjazd (z kierunku), (numer).
(posterunek), (z kierunku) proszę, (numer).
(posterunek), (z kierunku), (numer).
(posterunek), wjazd (z kierunku) proszę.
(posterunek), wjazd (z kierunku).
(posterunek), będzie wjazd (z kierunku).
(posterunek), będzie wjazd (z kierunku)?
(posterunek), (z kierunku) proszę.
(posterunek), (z kierunku).
(posterunek), (numer).

Względnie TW XXXX zgłasza się do próby łączności po zmianie kanału ;)
PS Paweł, a na szlaku z TZ nie powinno być znaku, że obowiązuje inny kanał łączności ??
Bo chyba go nie ma w wizualizacji ;)

Niektóre wskaźniki sobie podarowałem, mogę to dodać. I tak ta "próba łączności" jest na niby, skład żadnego kanału nie zmienia, wcześniej też możesz go normalnie wywołać ;)

Co do pań dyżurnych ruchu - po prostu ściągnąłem listę najpopularniejszych nazwisk z jakiejś strony internetowej (no, i dodałem kilka bonusowych :P), i nazwiska te były w formie męskiej. Nazwisk w bazie jest ok. 300 (może to przerobić i zostawić max. kilkadziesiąt?). Trzeba by przerobić je na formę damską (sporo roboty) i dorobić do symulatora rozróżnienie płci uwzględniane przy niektórych telefonogramach (trochę mniej roboty). Poniżej pełna lista:

http://wklej.org/id/433142/txt/

robert051

  • Gość
Odp: Dodanie innych wersji tekstu
« Odpowiedź #4 dnia: 06 Grudzień 2010, 23:05:30 »
Jak chcesz to te listę nazwisk można wspólnymi siłami (znaczy się tych co są na forum) przerobić na damską wersje. Jak coś to pomożecie przy tej modyfikacji ??
Paweł czy mógłbyś wyciągnąć z ISDR plik z telefonogramami żeby kto umiał mógł je programować na swój sposób a potem w wersji dostosowanej do programu podać na forum je??
« Ostatnia zmiana: 07 Grudzień 2010, 09:12:18 wysłana przez robert051 »

Offline Paweł

  • Administrator
  • Użytkownik
  • Wiadomości: 1050
    • Zobacz profil
  • Skąd: Kęty
Odp: Dodanie innych wersji tekstu
« Odpowiedź #5 dnia: 07 Grudzień 2010, 14:16:37 »
Nie ma pliku telefonogramów, jest funkcja która je generuje na podstawie podanego rodzaju telefonogramu, numeru, godziny, toru i innych parametrów:

//wzory telefonogramow
function TForm1.WzorTel(wzor: string; posterunek,kto,numer,tor,godz,szlod,szldo,powod,opozn,numerbd,przez,semaf,km: string; nazmk: boolean): string;
var r,t: string; przed,po: boolean; rozn: single;
begin
  r:='';
  przed:=false;
  po:=true;
  if strtotimedef(godz,-1)=-1 then godz:='' else
  begin
    t:=timetostr(srk1.czas);
    delete(t,6,3);
    rozn:=strtotime(godz)-strtotime(t);
    if rozn>0.5 then rozn:=rozn-1;
    if rozn<-0.5 then rozn:=rozn+1;
    przed:=rozn>0;
    po:=rozn<0;
  end;
  if (pos('manewr',lowercase(numer))=1) and (length(numer)>6) and ((tor='') or (wzor='zmkp')) then
  begin
    if wzor='zmkp' then
    begin
      delete(numer,1,6);
      numer:=inttostr(strtointdef(numer,-1));
      if numer='-1' then numer:='';
    end else
    begin
      tor:=numer;
      delete(tor,1,6);
    end;
  end;
  if (tor<>'') and (pos('lew',lowercase(tor))=0) and (pos('praw',lowercase(tor))=0) then
  tor:='numer '+tor;
  //slucham
  if wzor='sluch' then
  begin
    if posterunek<>'' then r:=posterunek;
    if kto<>'' then r:=r+', '+kto;
    case random(3) of
    0: if r='' then r:='Słucham.' else r:=r+', słucham.';
    1: if r='' then r:='Proszę.' else r:=r+', proszę.';
    2: if r='' then r:='Tak.' else r:=r+'.';
    end;
  end else
  //przedstawienie sie
  if wzor='przedst' then
  begin
    if posterunek<>'' then r:=posterunek;
    if kto<>'' then r:=r+', '+kto;
    r:=r+'.';
  end else
  //przyjalem
  if wzor='ok' then
  begin
    case random(2) of
    0: r:='Przyjąłem';
    1: r:='Zrozumiałem';
    end;
    if length(numer)>0 then
    if numer[1]=',' then delete(numer,1,1);
    if length(numer)>0 then
    if numer[length(numer)]=',' then delete(numer,length(numer),1);
    numer:=StringReplace(numer,',',', ',[rfReplaceAll]);
    numer:=StringReplace(numer,'  ',' ',[rfReplaceAll]);
    if numer<>'' then
    r:=r+', '+numer;
    r:=r+'.';
  end else
  //zadanie pozwolenia
  if wzor='zpoz' then
  begin
    r:='Czy droga dla pociągu '+numer;
    if tor<>'' then
    begin
      r:=r+' po';
      if nazmk then r:=r+' zamkniętym';
      r:=r+' torze '+tor;
    end else
    if nazmk then r:=r+' po torze zamkniętym';
    r:=r+' jest wolna?';
  end else
  //zadanie pozwolenia - jazda do km
  if wzor='zpozkm' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Czy droga dla manewrów na';
      if nazmk then r:=r+' zamknięty';
      r:=r+' tor szlakowy';
      if tor<>'' then r:=r+' '+tor;
      if km<>'' then r:=r+' do '+km;
      r:=r+' jest wolna?';
    end else
    begin
      if km='' then km:='kilometra i z powrotem';
      r:='Czy droga dla pociągu '+numer;
      if tor<>'' then
      begin
        r:=r+' po';
        if nazmk then r:=r+' zamkniętym';
        r:=r+' torze '+tor;
      end else
      if nazmk then r:=r+' po torze zamkniętym';
      r:=r+' do '+km+' jest wolna?';
    end;
  end else
  //danie pozwolenia
  if wzor='dpoz' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Dla manewrów na';
      if nazmk then r:=r+' zamknięty';
      r:=r+' tor szlakowy';
      if tor<>'' then r:=r+' '+tor;
      r:=r+' droga jest wolna.';
    end else
    r:='Dla pociągu '+numer+' droga jest wolna.';
  end else
  //czekac
  if wzor='czekac' then
  r:='Czekać.' else
  //odjazd
  if wzor='odj' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Manewr wyjechał na';
      if nazmk then r:=r+' zamknięty';
      r:=r+' tor szlakowy';
      if tor<>'' then r:=r+' '+tor;
      r:=r+'.';
    end else
    begin
      r:='Pociąg '+numer;
      if przed then r:=r+' odjedzie' else
      if po then r:=r+' odjechał' else
      r:=r+' odjeżdża';
      if godz<>'' then r:=r+' o godzinie '+godz;
      if tor<>'' then
      begin
        r:=r+' po';
        if nazmk then r:=r+' zamkniętym';
        r:=r+' torze '+tor;
      end else
      if nazmk then r:=r+' po torze zamkniętym';
      if km<>'' then r:=r+' do '+km;
      r:=r+'.';
    end;
  end else
  //odjazd (wymuszone odjedzie)
  if wzor='odje' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Manewr wyjedzie na';
      if nazmk then r:=r+' zamknięty';
      r:=r+' tor szlakowy';
      if tor<>'' then r:=r+' '+tor;
      r:=r+'.';
    end else
    begin
      r:='Pociąg '+numer;
      r:=r+' odjedzie';
      if godz<>'' then r:=r+' o godzinie '+godz;
      if tor<>'' then
      begin
        r:=r+' po';
        if nazmk then r:=r+' zamkniętym';
        r:=r+' torze '+tor;
      end else
      if nazmk then r:=r+' po torze zamkniętym';
      if km<>'' then r:=r+' do '+km;
      r:=r+'.';
    end;
  end else
  //przyjazd
  if wzor='przyj' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      if tor<>'' then r:='Manewry na tor szlakowy '+tor+' są ukończone i tor ten jest wolny.'
      else r:='Manewry na tor szlakowy są ukończone i tor ten jest wolny.';
    end else
    begin
      r:='Pociąg '+numer+' przyjechał';
      if godz<>'' then r:=r+' o godzinie '+godz;
      r:=r+'.';
    end;
  end else
  //przejazd
  if wzor='przej' then
  begin
    r:='Pociąg';
    if numer<>'' then r:=r+' '+numer;
    if przed then r:=r+' przejedzie' else
    r:=r+' przejechał';
    if przez<>'' then r:=r+' przez '+przez;
    if godz<>'' then r:=r+' o '+godz;
    r:=r+'.';
  end else
  //stoj
  if wzor='stoj' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Zatrzymać manewry na tor szlakowy';
      if tor<>'' then r:=r+' '+tor+'.' else r:=r+'.';
    end else
    r:='Stój pociąg '+numer+'.';
  end else
  //zatrzymany
  if wzor='zatrz' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    begin
      r:='Manewry na tor szlakowy';
      if tor<>'' then r:=r+' '+tor+' zatrzymane.' else r:=r+' zatrzymane.';
    end else
    r:='Pociąg '+numer+' zatrzymany.';
  end else
  //wstrzymanie wyprawiania pociagow
  if wzor='wwp' then
  begin
    r:='Nie wyprawiać pociągów';
    if tor<>'' then r:=r+' po torze '+tor;
    if powod<>'' then r:=r+' z powodu '+powod;
    if godz<>'' then r:=r+' od '+godz;
    r:=r+' aż do odwołania.';
  end else
  if wzor='owwp' then
  begin
    r:='Wstrzymanie wyprawienia pociągów';
    if tor<>'' then r:=r+' po torze '+tor;
    r:=r+' odwołuję';
    if godz<>'' then r:=r+' o '+godz;
    r:=r+'.';
  end else
  //wprowadzenie tzp
  if wzor='wtzp' then
  begin
    if godz<>'' then r:='O '+godz+' wprowadzam telefoniczne zapowiadanie pociągów po torze szlakowym'
    else r:='Wprowadzam telefoniczne zapowiadanie pociągów po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    if powod<>'' then r:=r+' z powodu '+powod;
    r:=r+'.';
  end else
  //odwolanie tzp
  if wzor='otzp' then
  begin
    if godz<>'' then r:='O '+godz+' odwołuję telefoniczne zapowiadanie pociągów po torze szlakowym'
    else r:='Odwołuję telefoniczne zapowiadanie pociągów po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+'.';
  end else
  //wprowadzenie ruchu dwukierunkowego przy drugim torze zamknietym
  if wzor='wr2k1' then
  begin
    if (szlod<>'') and (szldo<>'') then
    r:='Od '+szlod+' do '+szldo+' wprowadzam ruch jednotorowy dwukierunkowy po torze szlakowym'
    else r:='Wprowadzam ruch jednotorowy dwukierunkowy po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    if (numer<>'') and (godz<>'') then r:=r+', po którym ostatni pociąg '+numer+' odjechał o '+godz;
    r:=r+'.';
  end else
  //wprowadzenie ruchu dwukierunkowego przy drugim torze otwartym
  if wzor='wr2k2' then
  begin
    r:='Przy czynnych obu torach wprowadzam';
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+' ruch dwukierunkowy po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    if (numer<>'') and (godz<>'') then r:=r+', po którym ostatni pociąg '+numer+' odjechał o '+godz;
    r:=r+'.';
  end else
  //odwolanie ruchu dwukierunkowego
  if wzor='or2k' then
  begin
    r:='Przywracam ruch dwutorowy';
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    if tor<>'' then r:=r+' po torach szlakowych '+tor;
    if godz<>'' then r:=r+' o '+godz;
    r:=r+'.';
  end else
  //polecenie wprowadzenia ruchu dwukierunkowego przy drugim torze zamknietym
  if wzor='pwr2k1' then
  begin
    r:='Wprowadzić ruch jednotorowy dwukierunkowy';
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+' po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    r:=r+'.';
  end else
  //polecenie wprowadzenia ruchu dwukierunkowego przy drugim torze otwartym
  if wzor='pwr2k2' then
  begin
    r:='Przy czynnych obu torach wprowadzić ruch dwukierunkowy';
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+' po torze szlakowym';
    if tor<>'' then r:=r+' '+tor;
    r:=r+'.';
  end else
  //polecenie odwolania ruchu dwukierunkowego
  if wzor='por2k' then
  begin
    r:='Przywrócić ruch dwutorowy';
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    if tor<>'' then r:=r+' po torach szlakowych '+tor;
    r:=r+'.';
  end else
  //zamkniecie toru
  if wzor='zmk' then
  begin
    r:='Tor szlakowy';
    if tor<>'' then r:=r+' '+tor;
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+' zamknięty';
    if godz<>'' then r:=r+' od '+godz;
    if powod<>'' then r:=r+' z powodu '+powod;
    r:=r+'.';
  end else
  //otwarcie toru
  if wzor='ozmk' then
  begin
    r:='Tor szlakowy';
    if tor<>'' then r:=r+' '+tor;
    if (szlod<>'') and (szldo<>'') then r:=r+' od '+szlod+' do '+szldo;
    r:=r+' otwarty';
    if godz<>'' then r:=r+' o '+godz;
    r:=r+'.';
  end else
  //zamkniecie przejazdu
  if wzor='zmkp' then
  begin
    r:='Zamknij przejazd';
    if strtointdef(numer,0)>0 then
    begin
      if strtoint(numer)=1 then
      r:=r+' na 1 jazdę manewrową'
      else if numer[length(numer)] in ['2','3','4'] then
      r:=r+' na '+numer+' jazdy manewrowe'
      else r:=r+' na '+numer+' jazd manewrowych';
    end;
    r:=r+'.';
  end else
  //otwarcie przejazdu
  if wzor='otwp' then
  r:='Otwórz przejazd.' else
  //nie przejechal
  if wzor='nieprzej' then
  r:='Pociąg '+numer+' nie przejechał.' else
  //informacja o wjezdzie pociagu dla posterunku skp/droznika
  if wzor='wjedzie' then
  begin
    if pos('manewr',lowercase(numer))=1 then
    r:='Manewr' else
    begin
      r:='Pociąg';
      if numer<>'' then r:=r+' '+numer;
    end;
    if przed then r:=r+' wjedzie' else r:=r+' wjeżdża';
    if godz<>'' then r:=r+' o '+godz;
    if tor<>'' then r:=r+' po torze '+tor;
    r:=r+'.';
  end else
  //wprowadzenie zglaszania konca pociagu
  if wzor='wskp' then
  begin
    r:='Wprowadzam zgłaszanie sygnałów końca pociągu';
    if godz<>'' then r:=r+' od '+godz;
    if tor<>'' then r:=r+' na torze szlakowym '+tor;
    if powod<>'' then r:=r+' z powodu '+powod;
    r:=r+'.';
  end else
  //odwolanie zglaszania konca pociagu
  if wzor='oskp' then
  begin
    r:='Odwołuję zgłaszanie sygnałów końca pociągu';
    if godz<>'' then r:=r+' od '+godz;
    if tor<>'' then r:=r+' na torze szlakowym '+tor;
    r:=r+'.';
  end else
  //telefonogramy uzywane zasadniczo tylko przez ai
  if wzor='jakinr' then r:='Jaki numer?' else       
  if wzor='coz' then r:='Co z pociągiem '+numer+'?' else
  if wzor='jakitor' then r:='Jaki tor?' else
  if wzor='cowyj' then r:='Co wyjechało?' else
  if wzor='opozn' then r:=numer+' opóźniony około '+opozn+' minut.' else
  if wzor='stojbd' then r:='Stój '+numer+', brak dojścia '+numerbd+'.' else
  if wzor='nmwypbd' then r:='Nie mogę wyprawić '+numer+', brak dojścia '+numerbd+'.' else
  if wzor='zblok' then
  begin
    r:='Zablokuj blok początkowy';
    //if tor<>'' then r:=r+' na torze '+tor;
    r:=r+'.';
  end else
  if wzor='nmpwyj' then r:='Nie mogę wyprawić pociągu '+numer+'.' else
  if wzor='przyjzskp' then r:='Pociąg '+numer+' przyjechał z sygnałem końca pociągu.' else
  if wzor='przyjbskp' then r:='Pociąg '+numer+' przyjechał bez sygnału końca pociągu.' else
  if wzor='zmkty' then r:='Przejazd zamknięty.' else
  if wzor='awrrgsd' then r:='Usterka urządzeń na przejeździe.' else
  if wzor='awrsem' then r:='Usterka semafora odstępowego '+semaf+'.' else
  if wzor='awrbl' then
  begin
    if tor='' then
    r:='Blokada liniowa działa nieprawidłowo.'
    else
    r:='Blokada liniowa w torze '+tor+' działa nieprawidłowo.';
  end else
  if wzor='wogrssp' then
  begin
    if tor<>'' then
    begin
      r:='Wprowadzam ograniczenie prędkości do 20 km/h w kilometrze '+km+' na torze '+tor+' z powodu usterki urządzeń SSP.';
    end else
    r:='Wprowadzam ograniczenie prędkości do 20 km/h w kilometrze '+km+' z powodu usterki SSP.';
  end else
  if wzor='oogrssp' then
  begin
    if tor<>'' then
    begin
      r:='Odwołuję ograniczenie prędkości w kilometrze '+km+' na torze '+tor+'.';
    end else
    r:='Odwołuję ograniczenie prędkości w kilometrze '+km+'.';
  end else
  raise Exception.Create('Błąd przy wywołaniu WzorTel: nieprawidłowy wzór "'+wzor+'". Proszę o kontakt i opis okoliczności wystąpienia błędu.');
  result:=r;
end;

Offline jageer

  • Projektant
  • Użytkownik
  • Wiadomości: 1395
  • Podg. Papago
    • Zobacz profil
  • Skąd: wieś Papago.
Odp: Dodanie innych wersji tekstu
« Odpowiedź #6 dnia: 07 Grudzień 2010, 15:17:40 »
Mały OT, patrząc na kod źródłowy telefonogramów to, aż tak źle nie ma  ;) jakiś mega komplikacji.

Offline Paweł

  • Administrator
  • Użytkownik
  • Wiadomości: 1050
    • Zobacz profil
  • Skąd: Kęty
Odp: Dodanie innych wersji tekstu
« Odpowiedź #7 dnia: 07 Grudzień 2010, 15:48:07 »
Owszem, tu akurat nie ma niczego skomplikowanego, gorzej jest z kodem AI - momentami ja sam już nie wiem co się tam dzieje :P