Nějaká utilita na poznámky při ladění programu? – Software – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nějaká utilita na poznámky při ladění programu? – Software – Fórum – Programujte.comNějaká utilita na poznámky při ladění programu? – Software – Fórum – Programujte.com

 

oxidián0
Grafoman
1. 2. 2023   #1
-
0
-

Tak mě napadlo nevíte o nějaké utilitě, kam si člověk píše poznámky, když ladíte program krok po kroku a děláte si poznámky, kladete si otázky a odpovídáte si na ně... Asi jako tady jsem to řešil poznámkami do notepadu:

221 showmessage(RAMdisk_filename);

270 rds_vnumber := getVerseNumFromListSpec(RAM_disk_verses, RAM_disk_verses_current_rdp, 1, VERSE_PREFIX);

279 INC(RAM_disk_verses_current_rdp);

Add to RAM_disk_verses
412 countAdded := createListOfVerses(RAM_disk_file, RAM_disk_verses, rdpointer, last_versebnum_added);
417 RAM_disk_verses_current_rdp := 0;

When parsing the RAM disk file, there is one empty line after line of verse, so I skip it.

if RAM_disk_file[rdpointer]='' then
   INC(rdpointer);




Takže dokončil první kapitolu, ale NEPŘIDAL SEZNAM ŘÁDKŮ TOHO SOUBORU
TStringList source do output... #318 až 319

#299

if rdpointer>RAM_disk_file.count-1 then

RAM_disk_output.add(RAM_disk_source[j]);


a=27

rdpointer=13	line #328
rdpointer=14    line #328

RAM_disk_source[26] is:
'*25 text'

OK.

a=27

# Parsing of the last block
#431

countAdded=6	#433


RAM_disk_verses[5]:
'*31 txt'

OK

?PROBLEM COULD BE HERE WITH SET VALUE?
#436

if countAdded>0 then
   RAM_disk_verses_current_rdp := 1

  Currently on #446, 
  způsobuje to, že přidá řádek z file navíc ještě před předáním verses do source list

  NE NE NE!
  #450
  RAM_disk_source.add(RAM_disk_file[rdpointer])
  JE ŠPATNĚ!!!


#440
RAM_disk_verses_current_rdp=1

**************************************************************
V DALŠÍ FÁZI JE TŘEBA OVĚŘIT, ŽE SE ZDROJOVÉ ŘÁDKY VERŠŮ SHODUJÍ S NAČTENÝMI
POLOŽKAMI ZE SOURCE. Dělám to?


#140
a=28
SourceTXTF[a]:
'*27 And Text'

OK

#267   if RAM_disk_verses.Count > 0 then

condition is True

#270
rds_vnumber := getVerseNumFromListSpec(RAM_disk_verses, RAM_disk_verses_current_rdp, 1, VERSE_PREFIX);

rds_vnumber=27

*************************************
ODPOVĚĎ: Ano, kontrola provedena zde:
if vers_s<>rds_vnumber then
   showmessage('NEROVNOST ('+RAMdisk_filename+#13+'general verse '+vers_s+', row #'+inttostr(a+1)+','+#13+'rd verse: '+rds_vnumber+#13+'rd pointer: '+inttostr(rdpointer)+#13+'General verse text:'+#13+SourceTXTF[a]+#13+'RAM_disk_verses[RAM_disk_verses_current_rdp] text:'+#13+RAM_disk_verses[RAM_disk_verses_current_rdp])
else
#276 INC(RAM_disk_verses_current_rdp);

*******************
OTÁZKA: Je správně navýšení pointeru? RAM_disk_verses_current_rdp
Z předchozího vím, že RAM_disk_verses_current_rdp se má rovnat 1,
***********
ISSUE FOUND:
což indikuje problém, protože seznam položek source nebyl překontrolován
Není mimo rozsah souboru?

Stav RAM_disk_verses_current_rdp
#279 RAM_disk_verses_current_rdp=1
#279 RAM_disk_verses_current_rdp=2 (navýšeno)

RAM_disk_verses.count=6
RAM_disk_verses[5] stále ukazuje na verš 31

Dosaženo konece smyčky, pokračuje se v cyklu.

projedu několik cyklů a navýšení...

#277 RAM_disk_verses_current_rdp=5
***********************************
Kontrola posledního čísla verše proběhla v pořádku:
Prošlo
#279 RAM_disk_verses_current_rdp=6
RAM_disk_verses_current_rdp v dalším cyklu se má diagnostikovat 
nevyhovující hodnota pointeru????

Nicméně na dalším řádku

#281 Vstup prvního bloku do podmínky
if RAM_disk_verses_current_rdp = RAM_disk_verses.count

Probíhá předání RAM_disk_verses do RAM_disk_source...
*********
V POŘÁDKU
*********

a=32 #290

*********************************************
ACTIVE ISSUE #1:  #290 , po přidání verses do source TStringList
*********************************************
OTÁZKA:
Kde a kdy se přidá source list do output list? Mělo by to proběhnout teď nebo v další 
smyčce?
*********************************************
ANALYZYUJU: #317-319
CHYBA NALEZENA:
for j:=0 to RAM_disk_source.count-1 do
  RAM_disk_output.add(RAM_disk_source[j]);
RAM_disk_source.clear;

NICMÉNĚ PŘI a=32 na #285 teprve probíhá přidání veršů do source list.
ŘEŠENÍ:
Takže to patří do #290!!!

***********************

a=32 #290


#290
RAM_disk_verses.Clear;

!!!!!
POZOR ACTIVE ISSUE #2
!!!!!

v DALŠÍ SMYČCE SE UŽ NAČÍTÁ DALŠÍ KAPITOLA: GENESIS

NÁSLEDOVAL KRACH:  #248
If RAM_disk_file[0] ... then  
   RAM_disk_source.add(RAM_disk_file[a])

PŘÍČINA:
Vytvoření source probíhá v druhé sekci!

a=33 #248


if (RAM_disk_file[0]<>'') AND
   (rds_vnumber<>'') then
         RAM_disk_source.add(RAM_disk_file[a])

PŘÍČINA:
RAM_disk_file.count = 17
index a = 33

Index out of bounds.

******************
OTÁZKA - ISSUE #3:
proč není nastaveno na a=0?
******************
ODPOVĚĎ - PŘÍČINA:
K RAM_disk_file se má přistupovat přes  rdpointer,
rdpointer = 0; By nemohl krachnout.

Nicméně upozorňuji, že data stále nebyly přesunuty do RAM_disk_output:
RAM_disk_output.count = 0


*******************
NEXT ISSUES:
RAM_disk_source[0] obsahuje celý odstavec. Smazat.
RAM_disk_output obsahuje jen poslední skupinu veršů




Ale problém je v tom, že když udělám pár řádků změn, řádky se posunou, a už to přesně neodpovídá.

Ono by to chtělo aby takový externí program udělal kopii toho procházeného souboru a otevře soubor na tom konkrétním řádku o kterém v poznámce píšu. Takže každá poznámka má trochu jiný kód. V Delphi 7 taková utilita není tak něco externího?

Nahlásit jako SPAM
IP: 94.113.179.–
JerryM0
Věrný člen
1. 2. 2023   #2
-
0
-

tužka a papír ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:a868:b129:77b0:571c...–
JerryM0
Věrný člen
1. 2. 2023   #3
-
0
-

nainstaloval sem si CodeGear RAD Studio 10.3 a je to opravdu zajímavý :) nevim jestli bych si zvyknul :) když dělám v MS VS je to trochu jiný :)

máš jakou verzi ?

Nahlásit jako SPAM
IP: 2a00:1028:83bc:e52a:ccf4:c682:37a:a635...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Poznámky ofstream — založil pes41

Pomoc pri tvoreni programu — založil Marek066

Pad pri spustení programu — založil frostwyrm333

Pomoc pri tvorbe programu — založil Jarda Hlaváček

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý